//OV4188_tables.c
/*****************************************************************************/
/*!
 *  \file        OV4188_tables.c \n
 *  \version     1.0 \n
 *  \author      Meinicke \n
 *  \brief       Image-sensor-specific tables and other
 *               constant values/structures for OV4188. \n
 *
 *  \revision    $Revision: 803 $ \n
 *               $Author: $ \n
 *               $Date: 2010-02-26 16:35:22 +0100 (Fr, 26 Feb 2010) $ \n
 *               $Id: OV4188_tables.c 803 2010-02-26 15:35:22Z  $ \n
 */
/*  This is an unpublished work, the copyright in which vests in Silicon Image
 *  GmbH. The information contained herein is the property of Silicon Image GmbH
 *  and is supplied without liability for errors or omissions. No part may be
 *  reproduced or used expect as authorized by contract or other written
 *  permission. Copyright(c) Silicon Image GmbH, 2009, all rights reserved.
 */
/*****************************************************************************/
/*
#include "stdinc.h"

#if( OV4188_DRIVER_USAGE == USE_CAM_DRV_EN )
*/


#include <ebase/types.h>
#include <ebase/trace.h>
#include <ebase/builtins.h>

#include <common/return_codes.h>

#include "isi.h"
#include "isi_iss.h"
#include "isi_priv.h"
#include "OV4188_MIPI_priv.h"


/*****************************************************************************
 * DEFINES
 *****************************************************************************/


/*****************************************************************************
 * GLOBALS
 *****************************************************************************/

// Image sensor register settings default values taken from data sheet OV4188_DS_1.1_SiliconImage.pdf.
// The settings may be altered by the code in IsiSetupSensor.


const IsiRegDescription_t OV4188_g_aRegDescription_fourlane[] =
{
	//XVCLK=24Mhz, SCLK=4x120Mhz, MIPI 1008Mbps, DACCLK=240Mhz
	{0x0103 ,0x01 ,"0x0100",eReadWrite},// sc ctrl (software reset)
	{0x3638 ,0x00 ,"0x0100",eReadWrite},//
	{0x0300 ,0x00 ,"0x0100",eReadWrite},// PLL CTRL 0(pll1_pre_div)
	{0x0302 ,0x2a ,"0x0100",eReadWrite},// PLL CTRL 2
	{0x0303 ,0x00 ,"0x0100",eReadWrite},// PLL CTRL 3
	{0x0304 ,0x03 ,"0x0100",eReadWrite},// PLL CTRL 4
	{0x030b ,0x00 ,"0x0100",eReadWrite},// PLL CTRL B
	{0x030d ,0x1e ,"0x0100",eReadWrite},// PLL CTRL D
	{0x030e ,0x04 ,"0x0100",eReadWrite},// PLL CTRL E
	{0x030f ,0x01 ,"0x0100",eReadWrite},// PLL CTRL F
	{0x0312 ,0x01 ,"0x0100",eReadWrite},// PLL CTRL 12
	{0x031e ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x3000 ,0x20 ,"0x0100",eReadWrite},// SC CMMN PAD OEN0
	{0x3002 ,0x00 ,"0x0100",eReadWrite},// SC CMMN PAD OEN2
	{0x3018 ,0x72 ,"0x0100",eReadWrite},// SC CMMN MIPI SC CTRL
	{0x3020 ,0x93 ,"0x0100",eReadWrite},// SC CMMN CLOCK SEL
	{0x3021 ,0x03 ,"0x0100",eReadWrite},// SC CMMN MISC CTRL
	{0x3022 ,0x01 ,"0x0100",eReadWrite},// SC CMMN MIPI SC CTRL
	{0x3031 ,0x0a ,"0x0100",eReadWrite},// SC CMMN BIT SEL
	{0x303f ,0x0c ,"0x0100",eReadWrite},// SCCB ID CTRL
	{0x3305 ,0xf1 ,"0x0100",eReadWrite},//
	{0x3307 ,0x04 ,"0x0100",eReadWrite},//
	{0x3309 ,0x29 ,"0x0100",eReadWrite},//
	{0x3500 ,0x00 ,"0x0100",eReadWrite},// AEC LONG EXPO
	{0x3501 ,0x60 ,"0x0100",eReadWrite},// AEC LONG EXPO
	{0x3502 ,0x00 ,"0x0100",eReadWrite},// AEC LONG EXPO
	{0x3503 ,0x04 ,"0x0100",eReadWrite},// AEC MANUAL
	{0x3504 ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x3505 ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x3506 ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x3507 ,0x00 ,"0x0100",eReadWrite},// AEC LONG GAIN
	{0x3508 ,0x00 ,"0x0100",eReadWrite},// AEC LONG GAIN 
	{0x3509 ,0x80 ,"0x0100",eReadWrite},// AEC LONG GAIN 
	{0x350a ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE EXPO
	{0x350b ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE EXPO
	{0x350c ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE EXPO
	{0x350d ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE GAIN
	{0x350e ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE GAIN
	{0x350f ,0x80 ,"0x0100",eReadWrite},// AEC MIDDLE GAIN
	{0x3510 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT EXPO
	{0x3511 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT EXPO
	{0x3512 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT EXPO
	{0x3513 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT GAIN
	{0x3514 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT GAIN
	{0x3515 ,0x80 ,"0x0100",eReadWrite},// AEC SHORT GAIN
	{0x3516 ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x3517 ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x3518 ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x3519 ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x351a ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x351b ,0x80 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x351c ,0x00 ,"0x0100",eReadWrite},// AEC 5 EXPO
	{0x351d ,0x00 ,"0x0100",eReadWrite},// AEC 5 EXPO
	{0x351e ,0x00 ,"0x0100",eReadWrite},// AEC 5 EXPO
	{0x351f ,0x00 ,"0x0100",eReadWrite},// AEC 5 GAIN
	{0x3520 ,0x00 ,"0x0100",eReadWrite},// AEC 5 GAIN
	{0x3521 ,0x80 ,"0x0100",eReadWrite},// AEC 5 GAIN
	{0x3522 ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC MIDDLE
	{0x3524 ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC SHORT
	{0x3526 ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC 4
	{0x3528 ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC 5
	{0x352a ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC LONG
	{0x3602 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3603 ,0x40 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3604 ,0x02 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3605 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3606 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3607 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3609 ,0x12 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x360a ,0x40 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x360c ,0x08 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x360f ,0xe5 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3608 ,0x8f ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3611 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3613 ,0xf7 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3616 ,0x58 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3619 ,0x99 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x361b ,0x60 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x361c ,0x7a ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x361e ,0x79 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x361f ,0x02 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3632 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3633 ,0x10 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3634 ,0x10 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3635 ,0x10 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3636 ,0x15 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3646 ,0x86 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x364a ,0x0b ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3700 ,0x17 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3701 ,0x22 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3703 ,0x10 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x370a ,0x37 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3705 ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3706 ,0x63 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3709 ,0x3c ,"0x0100",eReadWrite},// sensor timing control registers
	{0x370b ,0x01 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x370c ,0x30 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3710 ,0x24 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3711 ,0x0c ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3716 ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3720 ,0x28 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3729 ,0x7b ,"0x0100",eReadWrite},// sensor timing control registers
	{0x372a ,0x84 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x372b ,0xbd ,"0x0100",eReadWrite},// sensor timing control registers
	{0x372c ,0xbc ,"0x0100",eReadWrite},// sensor timing control registers
	{0x372e ,0x52 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x373c ,0x0e ,"0x0100",eReadWrite},// sensor timing control registers
	{0x373e ,0x33 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3743 ,0x10 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3744 ,0x88 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3745 ,0xc0 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x374a ,0x43 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x374c ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x374e ,0x23 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3751 ,0x7b ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3752 ,0x84 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3753 ,0xbd ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3754 ,0xbc ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3756 ,0x52 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x375c ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3760 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 60
	{0x3761 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 61
	{0x3762 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 62
	{0x3763 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 63
	{0x3764 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 64
	{0x3767 ,0x04 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3768 ,0x04 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3769 ,0x08 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376a ,0x08 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376b ,0x20 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376c ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376d ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376e ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3773 ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3774 ,0x51 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3776 ,0xbd ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3777 ,0xbd ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3781 ,0x18 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3783 ,0x25 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3798 ,0x1b ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3800 ,0x00 ,"0x0100",eReadWrite},// h crop start[12:8]
	{0x3801 ,0x08 ,"0x0100",eReadWrite},// h crop start [7:0]
	{0x3802 ,0x00 ,"0x0100",eReadWrite},// v crop start [11:8]
	{0x3803 ,0x04 ,"0x0100",eReadWrite},// v crop start [7:0]
	{0x3804 ,0x0a ,"0x0100",eReadWrite},// h crop end [12:8]
	{0x3805 ,0x97 ,"0x0100",eReadWrite},// h crop end [7:0]
	{0x3806 ,0x05 ,"0x0100",eReadWrite},// v crop end [11:8]
	{0x3807 ,0xfb ,"0x0100",eReadWrite},// v crop end [7:0]
	{0x3808 ,0x0a ,"0x0100",eReadWrite},// h output size [12:8]
	{0x3809 ,0x80 ,"0x0100",eReadWrite},// h output size [7:0]
	{0x380a ,0x05 ,"0x0100",eReadWrite},// v output size [11:8]
	{0x380b ,0xf0 ,"0x0100",eReadWrite},// v output size [7:0]
	{0x380c ,0x03 ,"0x0100",eReadWrite},// h total size [14:8]
	{0x380d ,0x5c ,"0x0100",eReadWrite},// h total size [7:0]
	{0x380e ,0x06 ,"0x0100",eReadWrite},// v total size [14:8]
	{0x380f ,0x12 ,"0x0100",eReadWrite},// v total size [7:0]
	{0x3810 ,0x00 ,"0x0100",eReadWrite},// h win offset [11:8]
	{0x3811 ,0x08 ,"0x0100",eReadWrite},// h win offset [7:0]
	{0x3812 ,0x00 ,"0x0100",eReadWrite},// v win offset [11:8]
	{0x3813 ,0x04 ,"0x0100",eReadWrite},// v win offset [7:0]
	{0x3814 ,0x01 ,"0x0100",eReadWrite},// H INC ODD
	{0x3815 ,0x01 ,"0x0100",eReadWrite},// H INC EVEN
	{0x3819 ,0x01 ,"0x0100",eReadWrite},// VSYNC END L
	{0x3820 ,0x00 ,"0x0100",eReadWrite},// FORMART
	{0x3821 ,0x06 ,"0x0100",eReadWrite},// FORMART
	{0x3829 ,0x00 ,"0x0100",eReadWrite},// FORMAT
	{0x382a ,0x01 ,"0x0100",eReadWrite},// V INC ODD
	{0x382b ,0x01 ,"0x0100",eReadWrite},// V INC EVEN
	{0x382d ,0x7f ,"0x0100",eReadWrite},// BLC COL END
	{0x3830 ,0x04 ,"0x0100",eReadWrite},// BLC NUM OPTION
	{0x3836 ,0x01 ,"0x0100",eReadWrite},// TIMING REG 36
	{0x3837 ,0x00 ,"0x0100",eReadWrite},// TIMING REG 37
	{0x3841 ,0x02 ,"0x0100",eReadWrite},// TIMING REG 41
	{0x3846 ,0x08 ,"0x0100",eReadWrite},// TIMING REG 46
	{0x3847 ,0x07 ,"0x0100",eReadWrite},// TIMING REG 47
	{0x3d85 ,0x36 ,"0x0100",eReadWrite},// OPT REG85
	{0x3d8c ,0x71 ,"0x0100",eReadWrite},// OPT SETTING STT  ADDRESS
	{0x3d8d ,0xcb ,"0x0100",eReadWrite},// OPT SETTING STT  ADDRESS
	{0x3f0a ,0x00 ,"0x0100",eReadWrite},// PSRAM CTRL
	{0x4000 ,0x71 ,"0x0100",eReadWrite},// BLC CTRL00
	{0x4001 ,0x40 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x4002 ,0x04 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x4003 ,0x14 ,"0x0100",eReadWrite},// BLC CTRL03
	{0x400e ,0x00 ,"0x0100",eReadWrite},// BLC CTRL0E
	{0x4011 ,0x00 ,"0x0100",eReadWrite},// BLC CTRL11
	{0x401a ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x401b ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x401c ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x401d ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x401f ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x4020 ,0x00 ,"0x0100",eReadWrite},// ANCHOR LEFT START
	{0x4021 ,0x10 ,"0x0100",eReadWrite},// ANCHOR LEFT START
	{0x4022 ,0x07 ,"0x0100",eReadWrite},// ANCHOR LEFT END
	{0x4023 ,0xcf ,"0x0100",eReadWrite},// ANCHOR LEFT END
	{0x4024 ,0x09 ,"0x0100",eReadWrite},// ANCHOR RIGHT START
	{0x4025 ,0x60 ,"0x0100",eReadWrite},// ANCHOR RIGHT START
	{0x4026 ,0x09 ,"0x0100",eReadWrite},// ANCHOR RIGHT END
	{0x4027 ,0x6f ,"0x0100",eReadWrite},// ANCHOR RIGHT END
	{0x4028 ,0x00 ,"0x0100",eReadWrite},// TOP ZLINE ST
	{0x4029 ,0x02 ,"0x0100",eReadWrite},// TOP ZLINE NUM
	{0x402a ,0x06 ,"0x0100",eReadWrite},// TOP BLKLINE ST
	{0x402b ,0x04 ,"0x0100",eReadWrite},// TOP BLKLINE NUM
	{0x402c ,0x02 ,"0x0100",eReadWrite},// BOT ZLINE ST
	{0x402d ,0x02 ,"0x0100",eReadWrite},// BOT ZLINE NUM
	{0x402e ,0x0e ,"0x0100",eReadWrite},// BOT BLKLINE ST
	{0x402f ,0x04 ,"0x0100",eReadWrite},// BOT BLKLINE NUM
	{0x4302 ,0xff ,"0x0100",eReadWrite},// CLIPPING MAX
	{0x4303 ,0xff ,"0x0100",eReadWrite},// CLIPPING MAX
	{0x4304 ,0x00 ,"0x0100",eReadWrite},// CLIPPING MIN
	{0x4305 ,0x00 ,"0x0100",eReadWrite},// CLIPPING MIN
	{0x4306 ,0x00 ,"0x0100",eReadWrite},// DPCM CTRL
	{0x4308 ,0x02 ,"0x0100",eReadWrite},// EMBED CTRL
	{0x4500 ,0x6c ,"0x0100",eReadWrite},// ADC SYNC CTRL
	{0x4501 ,0xc4 ,"0x0100",eReadWrite},// ADC SYNC CTRL
	{0x4502 ,0x40 ,"0x0100",eReadWrite},// ADC SYNC CTRL
	{0x4503 ,0x01,"0x0100", eReadWrite}, // ADC SYNC CTRL
	{0x4601 ,0xa7,"0x0100", eReadWrite}, // VFIFO CTRL 01
	{0x4800 ,0x04,"0x0100", eReadWrite}, // MIPI CTRL 00
	{0x4813 ,0x08,"0x0100", eReadWrite}, // MIPI CTRL 13
	{0x481f ,0x40,"0x0100", eReadWrite}, // CLK prepare min
	{0x4829 ,0x78,"0x0100", eReadWrite}, // hs exit min
	{0x4837 ,0x10,"0x0100", eReadWrite}, // pclk period
	{0x4b00 ,0x2a,"0x0100", eReadWrite}, // 
	{0x4b0d ,0x00,"0x0100", eReadWrite}, //  
	{0x4d00 ,0x04,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d01 ,0x42,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d02 ,0xd1,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d03 ,0x93,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d04 ,0xf5,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d05 ,0xc1,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x5000 ,0xf3,"0x0100", eReadWrite}, // ISP CTRL 0
	{0x5001 ,0x11,"0x0100", eReadWrite}, // ISP CTRL 1
	{0x5004 ,0x00,"0x0100", eReadWrite}, // DEBUG MODE
	{0x500a ,0x00,"0x0100", eReadWrite}, // DEBUG MODE
	{0x500b ,0x00,"0x0100", eReadWrite}, // DEBUG MODE
	{0x5032 ,0x00,"0x0100", eReadWrite}, // DEBUG MODE
	{0x5040 ,0x80,"0x0100", eReadWrite}, // PRE ISP TEST CTRL
	{0x5050 ,0x0c,"0x0100", eReadWrite}, // DEBUG MODE
	{0x5500 ,0x00,"0x0100", eReadWrite}, // OPT DPC START
	{0x5501 ,0x10,"0x0100", eReadWrite}, // OPT DPC START
	{0x5502 ,0x01,"0x0100", eReadWrite}, // OPT DPC END
	{0x5503 ,0x0f,"0x0100", eReadWrite}, // OPT DPC END
	{0x8000 ,0x00,"0x0100", eReadWrite}, // TEST CTRL1
	{0x8001 ,0x00,"0x0100", eReadWrite}, // TEST CTRL2
	{0x8002 ,0x00,"0x0100", eReadWrite}, // TEST CTRL3
	{0x8003 ,0x00,"0x0100", eReadWrite}, // TEST CTRL4
	{0x8004 ,0x00,"0x0100", eReadWrite}, // TEST CTRL5
	{0x8005 ,0x00,"0x0100", eReadWrite}, // TEST CTRL6
	{0x8006 ,0x00,"0x0100", eReadWrite}, // TEST CTRL7
	{0x8007 ,0x00,"0x0100", eReadWrite}, // TEST CTRL8
	{0x8008 ,0x00,"0x0100", eReadWrite}, // TEST CTRL9
	{0x3638 ,0x00,"0x0100", eReadWrite}, // 
//	{0x0100 ,0x01,"0x0100", eReadWrite}, // wake up, streaming
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
	
};

const IsiRegDescription_t OV4188_g_fourlane_resolution_2688_1520[] =
{
	//XVCLK=24Mhz, SCLK=4x120Mhz, MIPI 1008Mbps, DACCLK=240Mhz
	{0x0103 ,0x01 ,"0x0100",eReadWrite},// sc ctrl (software reset)
	{0x3638 ,0x00 ,"0x0100",eReadWrite},//
	{0x0300 ,0x00 ,"0x0100",eReadWrite},// PLL CTRL 0(pll1_pre_div)
	{0x0302 ,0x2a ,"0x0100",eReadWrite},// PLL CTRL 2
	{0x0303 ,0x00 ,"0x0100",eReadWrite},// PLL CTRL 3
	{0x0304 ,0x03 ,"0x0100",eReadWrite},// PLL CTRL 4
	{0x030b ,0x00 ,"0x0100",eReadWrite},// PLL CTRL B
	{0x030d ,0x1e ,"0x0100",eReadWrite},// PLL CTRL D
	{0x030e ,0x04 ,"0x0100",eReadWrite},// PLL CTRL E
	{0x030f ,0x01 ,"0x0100",eReadWrite},// PLL CTRL F
	{0x0312 ,0x01 ,"0x0100",eReadWrite},// PLL CTRL 12
	{0x031e ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x3000 ,0x20 ,"0x0100",eReadWrite},// SC CMMN PAD OEN0
	{0x3002 ,0x00 ,"0x0100",eReadWrite},// SC CMMN PAD OEN2
	{0x3018 ,0x72 ,"0x0100",eReadWrite},// SC CMMN MIPI SC CTRL
	{0x3020 ,0x93 ,"0x0100",eReadWrite},// SC CMMN CLOCK SEL
	{0x3021 ,0x03 ,"0x0100",eReadWrite},// SC CMMN MISC CTRL
	{0x3022 ,0x01 ,"0x0100",eReadWrite},// SC CMMN MIPI SC CTRL
	{0x3031 ,0x0a ,"0x0100",eReadWrite},// SC CMMN BIT SEL
	{0x303f ,0x0c ,"0x0100",eReadWrite},// SCCB ID CTRL
	{0x3305 ,0xf1 ,"0x0100",eReadWrite},//
	{0x3307 ,0x04 ,"0x0100",eReadWrite},//
	{0x3309 ,0x29 ,"0x0100",eReadWrite},//
	{0x3500 ,0x00 ,"0x0100",eReadWrite},// AEC LONG EXPO
	{0x3501 ,0x60 ,"0x0100",eReadWrite},// AEC LONG EXPO
	{0x3502 ,0x00 ,"0x0100",eReadWrite},// AEC LONG EXPO
	{0x3503 ,0x04 ,"0x0100",eReadWrite},// AEC MANUAL
	{0x3504 ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x3505 ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x3506 ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x3507 ,0x00 ,"0x0100",eReadWrite},// AEC LONG GAIN
	{0x3508 ,0x00 ,"0x0100",eReadWrite},// AEC LONG GAIN 
	{0x3509 ,0x80 ,"0x0100",eReadWrite},// AEC LONG GAIN 
	{0x350a ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE EXPO
	{0x350b ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE EXPO
	{0x350c ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE EXPO
	{0x350d ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE GAIN
	{0x350e ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE GAIN
	{0x350f ,0x80 ,"0x0100",eReadWrite},// AEC MIDDLE GAIN
	{0x3510 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT EXPO
	{0x3511 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT EXPO
	{0x3512 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT EXPO
	{0x3513 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT GAIN
	{0x3514 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT GAIN
	{0x3515 ,0x80 ,"0x0100",eReadWrite},// AEC SHORT GAIN
	{0x3516 ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x3517 ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x3518 ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x3519 ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x351a ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x351b ,0x80 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x351c ,0x00 ,"0x0100",eReadWrite},// AEC 5 EXPO
	{0x351d ,0x00 ,"0x0100",eReadWrite},// AEC 5 EXPO
	{0x351e ,0x00 ,"0x0100",eReadWrite},// AEC 5 EXPO
	{0x351f ,0x00 ,"0x0100",eReadWrite},// AEC 5 GAIN
	{0x3520 ,0x00 ,"0x0100",eReadWrite},// AEC 5 GAIN
	{0x3521 ,0x80 ,"0x0100",eReadWrite},// AEC 5 GAIN
	{0x3522 ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC MIDDLE
	{0x3524 ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC SHORT
	{0x3526 ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC 4
	{0x3528 ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC 5
	{0x352a ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC LONG
	{0x3602 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3603 ,0x40 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3604 ,0x02 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3605 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3606 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3607 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3609 ,0x12 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x360a ,0x40 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x360c ,0x08 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x360f ,0xe5 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3608 ,0x8f ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3611 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3613 ,0xf7 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3616 ,0x58 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3619 ,0x99 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x361b ,0x60 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x361c ,0x7a ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x361e ,0x79 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x361f ,0x02 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3632 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3633 ,0x10 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3634 ,0x10 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3635 ,0x10 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3636 ,0x15 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3646 ,0x86 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x364a ,0x0b ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3700 ,0x17 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3701 ,0x22 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3703 ,0x10 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x370a ,0x37 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3705 ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3706 ,0x63 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3709 ,0x3c ,"0x0100",eReadWrite},// sensor timing control registers
	{0x370b ,0x01 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x370c ,0x30 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3710 ,0x24 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3711 ,0x0c ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3716 ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3720 ,0x28 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3729 ,0x7b ,"0x0100",eReadWrite},// sensor timing control registers
	{0x372a ,0x84 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x372b ,0xbd ,"0x0100",eReadWrite},// sensor timing control registers
	{0x372c ,0xbc ,"0x0100",eReadWrite},// sensor timing control registers
	{0x372e ,0x52 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x373c ,0x0e ,"0x0100",eReadWrite},// sensor timing control registers
	{0x373e ,0x33 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3743 ,0x10 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3744 ,0x88 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3745 ,0xc0 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x374a ,0x43 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x374c ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x374e ,0x23 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3751 ,0x7b ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3752 ,0x84 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3753 ,0xbd ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3754 ,0xbc ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3756 ,0x52 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x375c ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3760 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 60
	{0x3761 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 61
	{0x3762 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 62
	{0x3763 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 63
	{0x3764 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 64
	{0x3767 ,0x04 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3768 ,0x04 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3769 ,0x08 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376a ,0x08 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376b ,0x20 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376c ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376d ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376e ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3773 ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3774 ,0x51 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3776 ,0xbd ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3777 ,0xbd ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3781 ,0x18 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3783 ,0x25 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3798 ,0x1b ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3800 ,0x00 ,"0x0100",eReadWrite},// h crop start[12:8]
	{0x3801 ,0x08 ,"0x0100",eReadWrite},// h crop start [7:0]
	{0x3802 ,0x00 ,"0x0100",eReadWrite},// v crop start [11:8]
	{0x3803 ,0x04 ,"0x0100",eReadWrite},// v crop start [7:0]
	{0x3804 ,0x0a ,"0x0100",eReadWrite},// h crop end [12:8]
	{0x3805 ,0x97 ,"0x0100",eReadWrite},// h crop end [7:0]
	{0x3806 ,0x05 ,"0x0100",eReadWrite},// v crop end [11:8]
	{0x3807 ,0xfb ,"0x0100",eReadWrite},// v crop end [7:0]
	{0x3808 ,0x0a ,"0x0100",eReadWrite},// h output size [12:8]
	{0x3809 ,0x80 ,"0x0100",eReadWrite},// h output size [7:0]
	{0x380a ,0x05 ,"0x0100",eReadWrite},// v output size [11:8]
	{0x380b ,0xf0 ,"0x0100",eReadWrite},// v output size [7:0]
	{0x380c ,0x0a ,"0x0100",eReadWrite},// h total size [14:8]
	{0x380d ,0x18 ,"0x0100",eReadWrite},// h total size [7:0]
	{0x380e ,0x06 ,"0x0100",eReadWrite},// v total size [14:8]
	{0x380f ,0x12 ,"0x0100",eReadWrite},// v total size [7:0]
	{0x3810 ,0x00 ,"0x0100",eReadWrite},// h win offset [11:8]
	{0x3811 ,0x08 ,"0x0100",eReadWrite},// h win offset [7:0]
	{0x3812 ,0x00 ,"0x0100",eReadWrite},// v win offset [11:8]
	{0x3813 ,0x04 ,"0x0100",eReadWrite},// v win offset [7:0]
	{0x3814 ,0x01 ,"0x0100",eReadWrite},// H INC ODD
	{0x3815 ,0x01 ,"0x0100",eReadWrite},// H INC EVEN
	{0x3819 ,0x01 ,"0x0100",eReadWrite},// VSYNC END L
	{0x3820 ,0x00 ,"0x0100",eReadWrite},// FORMART
	//{0x3821 ,0x06 ,"0x0100",eReadWrite},// FORMART
	{0x3829 ,0x00 ,"0x0100",eReadWrite},// FORMAT
	{0x382a ,0x01 ,"0x0100",eReadWrite},// V INC ODD
	{0x382b ,0x01 ,"0x0100",eReadWrite},// V INC EVEN
	{0x382d ,0x7f ,"0x0100",eReadWrite},// BLC COL END
	{0x3830 ,0x04 ,"0x0100",eReadWrite},// BLC NUM OPTION
	{0x3836 ,0x01 ,"0x0100",eReadWrite},// TIMING REG 36
	{0x3837 ,0x00 ,"0x0100",eReadWrite},// TIMING REG 37
	{0x3841 ,0x02 ,"0x0100",eReadWrite},// TIMING REG 41
	{0x3846 ,0x08 ,"0x0100",eReadWrite},// TIMING REG 46
	{0x3847 ,0x07 ,"0x0100",eReadWrite},// TIMING REG 47
	{0x3d85 ,0x36 ,"0x0100",eReadWrite},// OPT REG85
	{0x3d8c ,0x71 ,"0x0100",eReadWrite},// OPT SETTING STT  ADDRESS
	{0x3d8d ,0xcb ,"0x0100",eReadWrite},// OPT SETTING STT  ADDRESS
	{0x3f0a ,0x00 ,"0x0100",eReadWrite},// PSRAM CTRL
	{0x4000 ,0xf1 ,"0x0100",eReadWrite},// BLC CTRL00
	{0x4001 ,0x40 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x4002 ,0x04 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x4003 ,0x14 ,"0x0100",eReadWrite},// BLC CTRL03
	{0x400e ,0x00 ,"0x0100",eReadWrite},// BLC CTRL0E
	{0x4011 ,0x00 ,"0x0100",eReadWrite},// BLC CTRL11
	{0x401a ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x401b ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x401c ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x401d ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x401f ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x4020 ,0x00 ,"0x0100",eReadWrite},// ANCHOR LEFT START
	{0x4021 ,0x10 ,"0x0100",eReadWrite},// ANCHOR LEFT START
	{0x4022 ,0x07 ,"0x0100",eReadWrite},// ANCHOR LEFT END
	{0x4023 ,0xcf ,"0x0100",eReadWrite},// ANCHOR LEFT END
	{0x4024 ,0x09 ,"0x0100",eReadWrite},// ANCHOR RIGHT START
	{0x4025 ,0x60 ,"0x0100",eReadWrite},// ANCHOR RIGHT START
	{0x4026 ,0x09 ,"0x0100",eReadWrite},// ANCHOR RIGHT END
	{0x4027 ,0x6f ,"0x0100",eReadWrite},// ANCHOR RIGHT END
	{0x4028 ,0x00 ,"0x0100",eReadWrite},// TOP ZLINE ST
	{0x4029 ,0x02 ,"0x0100",eReadWrite},// TOP ZLINE NUM
	{0x402a ,0x06 ,"0x0100",eReadWrite},// TOP BLKLINE ST
	{0x402b ,0x04 ,"0x0100",eReadWrite},// TOP BLKLINE NUM
	{0x402c ,0x02 ,"0x0100",eReadWrite},// BOT ZLINE ST
	{0x402d ,0x02 ,"0x0100",eReadWrite},// BOT ZLINE NUM
	{0x402e ,0x0e ,"0x0100",eReadWrite},// BOT BLKLINE ST
	{0x402f ,0x04 ,"0x0100",eReadWrite},// BOT BLKLINE NUM
	{0x4302 ,0xff ,"0x0100",eReadWrite},// CLIPPING MAX
	{0x4303 ,0xff ,"0x0100",eReadWrite},// CLIPPING MAX
	{0x4304 ,0x00 ,"0x0100",eReadWrite},// CLIPPING MIN
	{0x4305 ,0x00 ,"0x0100",eReadWrite},// CLIPPING MIN
	{0x4306 ,0x00 ,"0x0100",eReadWrite},// DPCM CTRL
	{0x4308 ,0x02 ,"0x0100",eReadWrite},// EMBED CTRL
	{0x4500 ,0x6c ,"0x0100",eReadWrite},// ADC SYNC CTRL
	{0x4501 ,0xc4 ,"0x0100",eReadWrite},// ADC SYNC CTRL
	{0x4502 ,0x40 ,"0x0100",eReadWrite},// ADC SYNC CTRL
	{0x4503 ,0x01,"0x0100", eReadWrite}, // ADC SYNC CTRL
	{0x4601 ,0xa7,"0x0100", eReadWrite}, // VFIFO CTRL 01
	{0x4800 ,0x04,"0x0100", eReadWrite}, // MIPI CTRL 00
	{0x4813 ,0x08,"0x0100", eReadWrite}, // MIPI CTRL 13
	{0x481f ,0x40,"0x0100", eReadWrite}, // CLK prepare min
	{0x4829 ,0x78,"0x0100", eReadWrite}, // hs exit min
	{0x4837 ,0x10,"0x0100", eReadWrite}, // pclk period
	{0x4b00 ,0x2a,"0x0100", eReadWrite}, // 
	{0x4b0d ,0x00,"0x0100", eReadWrite}, //  
	{0x4d00 ,0x04,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d01 ,0x42,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d02 ,0xd1,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d03 ,0x93,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d04 ,0xf5,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d05 ,0xc1,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x5000 ,0xf3,"0x0100", eReadWrite}, // ISP CTRL 0
	{0x5001 ,0x11,"0x0100", eReadWrite}, // ISP CTRL 1
	{0x5004 ,0x00,"0x0100", eReadWrite}, // DEBUG MODE
	{0x500a ,0x00,"0x0100", eReadWrite}, // DEBUG MODE
	{0x500b ,0x00,"0x0100", eReadWrite}, // DEBUG MODE
	{0x5032 ,0x00,"0x0100", eReadWrite}, // DEBUG MODE
	{0x5040 ,0x80,"0x0100", eReadWrite}, // PRE ISP TEST CTRL
	{0x5050 ,0x0c,"0x0100", eReadWrite}, // DEBUG MODE
	{0x5500 ,0x00,"0x0100", eReadWrite}, // OPT DPC START
	{0x5501 ,0x10,"0x0100", eReadWrite}, // OPT DPC START
	{0x5502 ,0x01,"0x0100", eReadWrite}, // OPT DPC END
	{0x5503 ,0x0f,"0x0100", eReadWrite}, // OPT DPC END
	{0x8000 ,0x00,"0x0100", eReadWrite}, // TEST CTRL1
	{0x8001 ,0x00,"0x0100", eReadWrite}, // TEST CTRL2
	{0x8002 ,0x00,"0x0100", eReadWrite}, // TEST CTRL3
	{0x8003 ,0x00,"0x0100", eReadWrite}, // TEST CTRL4
	{0x8004 ,0x00,"0x0100", eReadWrite}, // TEST CTRL5
	{0x8005 ,0x00,"0x0100", eReadWrite}, // TEST CTRL6
	{0x8006 ,0x00,"0x0100", eReadWrite}, // TEST CTRL7
	{0x8007 ,0x00,"0x0100", eReadWrite}, // TEST CTRL8
	{0x8008 ,0x00,"0x0100", eReadWrite}, // TEST CTRL9
	{0x3638 ,0x00,"0x0100", eReadWrite}, // 
//	{0x0100 ,0x01,"0x0100", eReadWrite}, // wake up, streaming
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_fourlane_resolution_1280_720[] =
{
	//XVCLK=24Mhz, SCLK=4x120Mhz, MIPI 1008Mbps, DACCLK=240Mhz
	//@@ ISI_RES_TV720P60   180FPS 
	{0x0103 ,0x01 ,"0x0100",eReadWrite},// sc ctrl (software reset)
	{0x3638 ,0x00 ,"0x0100",eReadWrite},//
	{0x0300 ,0x02 ,"0x0100",eReadWrite},// PLL CTRL 0(pll1_pre_div)
	{0x0302 ,0x32 ,"0x0100",eReadWrite},// PLL CTRL 2
	{0x0303 ,0x00 ,"0x0100",eReadWrite},// PLL CTRL 3
	{0x0304 ,0x03 ,"0x0100",eReadWrite},// PLL CTRL 4
	{0x030b ,0x00 ,"0x0100",eReadWrite},// PLL CTRL B
	{0x030d ,0x1e ,"0x0100",eReadWrite},// PLL CTRL D
	{0x030e ,0x04 ,"0x0100",eReadWrite},// PLL CTRL E
	{0x030f ,0x01 ,"0x0100",eReadWrite},// PLL CTRL F
	{0x0312 ,0x01 ,"0x0100",eReadWrite},// PLL CTRL 12
	{0x031e ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x3000 ,0x20 ,"0x0100",eReadWrite},// SC CMMN PAD OEN0
	{0x3002 ,0x00 ,"0x0100",eReadWrite},// SC CMMN PAD OEN2
	{0x3018 ,0x72 ,"0x0100",eReadWrite},// SC CMMN MIPI SC CTRL
	{0x3020 ,0x93 ,"0x0100",eReadWrite},// SC CMMN CLOCK SEL
	{0x3021 ,0x03 ,"0x0100",eReadWrite},// SC CMMN MISC CTRL
	{0x3022 ,0x01 ,"0x0100",eReadWrite},// SC CMMN MIPI SC CTRL
	{0x3031 ,0x0a ,"0x0100",eReadWrite},// SC CMMN BIT SEL
	{0x303f ,0x0c ,"0x0100",eReadWrite},// SCCB ID CTRL
	{0x3305 ,0xf1 ,"0x0100",eReadWrite},//
	{0x3307 ,0x04 ,"0x0100",eReadWrite},//
	{0x3309 ,0x29 ,"0x0100",eReadWrite},//
	{0x3500 ,0x00 ,"0x0100",eReadWrite},// AEC LONG EXPO
	{0x3501 ,0x30 ,"0x0100",eReadWrite},// AEC LONG EXPO
	{0x3502 ,0x00 ,"0x0100",eReadWrite},// AEC LONG EXPO
	{0x3503 ,0x04 ,"0x0100",eReadWrite},// AEC MANUAL
	{0x3504 ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x3505 ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x3506 ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x3507 ,0x00 ,"0x0100",eReadWrite},// AEC LONG GAIN
	{0x3508 ,0x00 ,"0x0100",eReadWrite},// AEC LONG GAIN 
	{0x3509 ,0x80 ,"0x0100",eReadWrite},// AEC LONG GAIN 
	{0x350a ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE EXPO
	{0x350b ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE EXPO
	{0x350c ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE EXPO
	{0x350d ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE GAIN
	{0x350e ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE GAIN
	{0x350f ,0x80 ,"0x0100",eReadWrite},// AEC MIDDLE GAIN
	{0x3510 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT EXPO
	{0x3511 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT EXPO
	{0x3512 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT EXPO
	{0x3513 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT GAIN
	{0x3514 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT GAIN
	{0x3515 ,0x80 ,"0x0100",eReadWrite},// AEC SHORT GAIN
	{0x3516 ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x3517 ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x3518 ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x3519 ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x351a ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x351b ,0x80 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x351c ,0x00 ,"0x0100",eReadWrite},// AEC 5 EXPO
	{0x351d ,0x00 ,"0x0100",eReadWrite},// AEC 5 EXPO
	{0x351e ,0x00 ,"0x0100",eReadWrite},// AEC 5 EXPO
	{0x351f ,0x00 ,"0x0100",eReadWrite},// AEC 5 GAIN
	{0x3520 ,0x00 ,"0x0100",eReadWrite},// AEC 5 GAIN
	{0x3521 ,0x80 ,"0x0100",eReadWrite},// AEC 5 GAIN
	{0x3522 ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC MIDDLE
	{0x3524 ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC SHORT
	{0x3526 ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC 4
	{0x3528 ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC 5
	{0x352a ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC LONG
	{0x3602 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3603 ,0x40 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3604 ,0x02 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3605 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3606 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3607 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3609 ,0x12 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x360a ,0x40 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x360c ,0x08 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x360f ,0xe5 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3608 ,0x8f ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3611 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3613 ,0xf7 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3616 ,0x58 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3619 ,0x99 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x361b ,0x60 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x361c ,0x7a ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x361e ,0x79 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x361f ,0x02 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3632 ,0x05 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3633 ,0x10 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3634 ,0x10 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3635 ,0x10 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3636 ,0x15 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3646 ,0x86 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x364a ,0x0b ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3700 ,0x17 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3701 ,0x22 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3703 ,0x10 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x370a ,0x37 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3705 ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3706 ,0x63 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3709 ,0x3c ,"0x0100",eReadWrite},// sensor timing control registers
	{0x370b ,0x01 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x370c ,0x30 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3710 ,0x24 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3711 ,0x0c ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3716 ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3720 ,0x28 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3729 ,0x7b ,"0x0100",eReadWrite},// sensor timing control registers
	{0x372a ,0x84 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x372b ,0xbd ,"0x0100",eReadWrite},// sensor timing control registers
	{0x372c ,0xbc ,"0x0100",eReadWrite},// sensor timing control registers
	{0x372e ,0x52 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x373c ,0x0e ,"0x0100",eReadWrite},// sensor timing control registers
	{0x373e ,0x33 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3743 ,0x10 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3744 ,0x88 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3745 ,0xc0 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x374a ,0x43 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x374c ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x374e ,0x23 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3751 ,0x7b ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3752 ,0x84 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3753 ,0xbd ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3754 ,0xbc ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3756 ,0x52 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x375c ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3760 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 60
	{0x3761 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 61
	{0x3762 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 62
	{0x3763 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 63
	{0x3764 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 64
	{0x3767 ,0x04 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3768 ,0x04 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3769 ,0x08 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376a ,0x08 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376b ,0x40 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376c ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376d ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376e ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3773 ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3774 ,0x51 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3776 ,0xbd ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3777 ,0xbd ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3781 ,0x18 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3783 ,0x25 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3798 ,0x1b ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3800 ,0x00 ,"0x0100",eReadWrite},// h crop start[12:8]
	{0x3801 ,0x48 ,"0x0100",eReadWrite},// h crop start [7:0]
	{0x3802 ,0x00 ,"0x0100",eReadWrite},// v crop start [11:8]
	{0x3803 ,0x2c ,"0x0100",eReadWrite},// v crop start [7:0]
	{0x3804 ,0x0a ,"0x0100",eReadWrite},// h crop end [12:8]
	{0x3805 ,0x57 ,"0x0100",eReadWrite},// h crop end [7:0]
	{0x3806 ,0x05 ,"0x0100",eReadWrite},// v crop end [11:8]
	{0x3807 ,0xd3 ,"0x0100",eReadWrite},// v crop end [7:0]
	{0x3808 ,0x05 ,"0x0100",eReadWrite},// h output size [12:8]
	{0x3809 ,0x00 ,"0x0100",eReadWrite},// h output size [7:0]
	{0x380a ,0x02 ,"0x0100",eReadWrite},// v output size [11:8]
	{0x380b ,0xd0 ,"0x0100",eReadWrite},// v output size [7:0]
	{0x380c ,0x03 ,"0x0100",eReadWrite},// h total size [14:8]
	{0x380d ,0x5c ,"0x0100",eReadWrite},// h total size [7:0]
	{0x380e ,0x03 ,"0x0100",eReadWrite},// v total size [14:8]
	{0x380f ,0x05 ,"0x0100",eReadWrite},// v total size [7:0]
	{0x3810 ,0x00 ,"0x0100",eReadWrite},// h win offset [11:8]
	{0x3811 ,0x04 ,"0x0100",eReadWrite},// h win offset [7:0]
	{0x3812 ,0x00 ,"0x0100",eReadWrite},// v win offset [11:8]
	{0x3813 ,0x02 ,"0x0100",eReadWrite},// v win offset [7:0]
	{0x3814 ,0x03 ,"0x0100",eReadWrite},// H INC ODD
	{0x3815 ,0x01 ,"0x0100",eReadWrite},// H INC EVEN
	{0x3819 ,0x01 ,"0x0100",eReadWrite},// VSYNC END L
	{0x3820 ,0x10 ,"0x0100",eReadWrite},// FORMART
	//{0x3821 ,0x07 ,"0x0100",eReadWrite},// FORMART
	{0x3829 ,0x00 ,"0x0100",eReadWrite},// FORMAT
	{0x382a ,0x03 ,"0x0100",eReadWrite},// V INC ODD
	{0x382b ,0x01 ,"0x0100",eReadWrite},// V INC EVEN
	{0x382d ,0x7f ,"0x0100",eReadWrite},// BLC COL END
	{0x3830 ,0x08 ,"0x0100",eReadWrite},// BLC NUM OPTION
	{0x3836 ,0x02 ,"0x0100",eReadWrite},// TIMING REG 36
	{0x3837 ,0x00 ,"0x0100",eReadWrite},// TIMING REG 37
	{0x3841 ,0x02 ,"0x0100",eReadWrite},// TIMING REG 41
	{0x3846 ,0x08 ,"0x0100",eReadWrite},// TIMING REG 46
	{0x3847 ,0x07 ,"0x0100",eReadWrite},// TIMING REG 47
	{0x3d85 ,0x36 ,"0x0100",eReadWrite},// OPT REG85
	{0x3d8c ,0x71 ,"0x0100",eReadWrite},// OPT SETTING STT  ADDRESS
	{0x3d8d ,0xcb ,"0x0100",eReadWrite},// OPT SETTING STT  ADDRESS
	{0x3f0a ,0x00 ,"0x0100",eReadWrite},// PSRAM CTRL
	{0x4000 ,0x71 ,"0x0100",eReadWrite},// BLC CTRL00
	{0x4001 ,0x50 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x4002 ,0x04 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x4003 ,0x14 ,"0x0100",eReadWrite},// BLC CTRL03
	{0x400e ,0x00 ,"0x0100",eReadWrite},// BLC CTRL0E
	{0x4011 ,0x00 ,"0x0100",eReadWrite},// BLC CTRL11
	{0x401a ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x401b ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x401c ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x401d ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x401f ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x4020 ,0x00 ,"0x0100",eReadWrite},// ANCHOR LEFT START
	{0x4021 ,0x10 ,"0x0100",eReadWrite},// ANCHOR LEFT START
	{0x4022 ,0x03 ,"0x0100",eReadWrite},// ANCHOR LEFT END
	{0x4023 ,0x93 ,"0x0100",eReadWrite},// ANCHOR LEFT END
	{0x4024 ,0x04 ,"0x0100",eReadWrite},// ANCHOR RIGHT START
	{0x4025 ,0xc0 ,"0x0100",eReadWrite},// ANCHOR RIGHT START
	{0x4026 ,0x04 ,"0x0100",eReadWrite},// ANCHOR RIGHT END
	{0x4027 ,0xd0 ,"0x0100",eReadWrite},// ANCHOR RIGHT END
	{0x4028 ,0x00 ,"0x0100",eReadWrite},// TOP ZLINE ST
	{0x4029 ,0x02 ,"0x0100",eReadWrite},// TOP ZLINE NUM
	{0x402a ,0x06 ,"0x0100",eReadWrite},// TOP BLKLINE ST
	{0x402b ,0x04 ,"0x0100",eReadWrite},// TOP BLKLINE NUM
	{0x402c ,0x02 ,"0x0100",eReadWrite},// BOT ZLINE ST
	{0x402d ,0x02 ,"0x0100",eReadWrite},// BOT ZLINE NUM
	{0x402e ,0x0e ,"0x0100",eReadWrite},// BOT BLKLINE ST
	{0x402f ,0x04 ,"0x0100",eReadWrite},// BOT BLKLINE NUM
	{0x4302 ,0xff ,"0x0100",eReadWrite},// CLIPPING MAX
	{0x4303 ,0xff ,"0x0100",eReadWrite},// CLIPPING MAX
	{0x4304 ,0x00 ,"0x0100",eReadWrite},// CLIPPING MIN
	{0x4305 ,0x00 ,"0x0100",eReadWrite},// CLIPPING MIN
	{0x4306 ,0x00 ,"0x0100",eReadWrite},// DPCM CTRL
	{0x4308 ,0x02 ,"0x0100",eReadWrite},// EMBED CTRL
	{0x4500 ,0x6c ,"0x0100",eReadWrite},// ADC SYNC CTRL
	{0x4501 ,0xc4 ,"0x0100",eReadWrite},// ADC SYNC CTRL
	{0x4502 ,0x44 ,"0x0100",eReadWrite},// ADC SYNC CTRL
	{0x4503 ,0x01,"0x0100", eReadWrite}, // ADC SYNC CTRL
	{0x4601 ,0x4f,"0x0100", eReadWrite}, // VFIFO CTRL 01
	{0x4800 ,0x04,"0x0100", eReadWrite}, // MIPI CTRL 00
	{0x4813 ,0x08,"0x0100", eReadWrite}, // MIPI CTRL 13
	{0x481f ,0x40,"0x0100", eReadWrite}, // CLK prepare min
	{0x4829 ,0x78,"0x0100", eReadWrite}, // hs exit min
	{0x4837 ,0x1b,"0x0100", eReadWrite}, // pclk period
	{0x4b00 ,0x2a,"0x0100", eReadWrite}, // 
	{0x4b0d ,0x00,"0x0100", eReadWrite}, //  
	{0x4d00 ,0x04,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d01 ,0x42,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d02 ,0xd1,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d03 ,0x93,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d04 ,0xf5,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d05 ,0xc1,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x5000 ,0xf3,"0x0100", eReadWrite}, // ISP CTRL 0
	{0x5001 ,0x11,"0x0100", eReadWrite}, // ISP CTRL 1
	{0x5004 ,0x00,"0x0100", eReadWrite}, // DEBUG MODE
	{0x500a ,0x00,"0x0100", eReadWrite}, // DEBUG MODE
	{0x500b ,0x00,"0x0100", eReadWrite}, // DEBUG MODE
	{0x5032 ,0x00,"0x0100", eReadWrite}, // DEBUG MODE
	{0x5040 ,0x81,"0x0100", eReadWrite}, // PRE ISP TEST CTRL  before:0x00  for test: 0x81
	{0x5050 ,0x3c,"0x0100", eReadWrite}, // DEBUG MODE
	{0x5500 ,0x00,"0x0100", eReadWrite}, // OPT DPC START
	{0x5501 ,0x10,"0x0100", eReadWrite}, // OPT DPC START
	{0x5502 ,0x01,"0x0100", eReadWrite}, // OPT DPC END
	{0x5503 ,0x0f,"0x0100", eReadWrite}, // OPT DPC END
	{0x8000 ,0x00,"0x0100", eReadWrite}, // TEST CTRL1
	{0x8001 ,0x00,"0x0100", eReadWrite}, // TEST CTRL2
	{0x8002 ,0x00,"0x0100", eReadWrite}, // TEST CTRL3
	{0x8003 ,0x00,"0x0100", eReadWrite}, // TEST CTRL4
	{0x8004 ,0x00,"0x0100", eReadWrite}, // TEST CTRL5
	{0x8005 ,0x00,"0x0100", eReadWrite}, // TEST CTRL6
	{0x8006 ,0x00,"0x0100", eReadWrite}, // TEST CTRL7
	{0x8007 ,0x00,"0x0100", eReadWrite}, // TEST CTRL8
	{0x8008 ,0x00,"0x0100", eReadWrite}, // TEST CTRL9
	{0x3638 ,0x00,"0x0100", eReadWrite}, // 
//	{0x0100 ,0x01,"0x0100", eReadWrite}, // wake up, streaming
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

#if 0
//ffcs
const IsiRegDescription_t OV4188_g_twolane_resolution_2688_1520[] =
{
	//XVCLK=24Mhz, SCLK=4x120Mhz, MIPI 1008Mbps, DACCLK=240Mhz
	//@@ ISI_RES_2688_1520   30FPS 
	{0x0103 ,0x01 ,"0x0100",eReadWrite},// sc ctrl (software reset)
	{0x3638 ,0x00 ,"0x0100",eReadWrite},//
	{0x0300 ,0x00 ,"0x0100",eReadWrite},// PLL CTRL 0(pll1_pre_div)
	{0x0302 ,0x2a ,"0x0100",eReadWrite},// PLL CTRL 2
	{0x0303 ,0x00 ,"0x0100",eReadWrite},// PLL CTRL 3
	{0x0304 ,0x03 ,"0x0100",eReadWrite},// PLL CTRL 4
	{0x030b ,0x00 ,"0x0100",eReadWrite},// PLL CTRL B
	{0x030d ,0x1e ,"0x0100",eReadWrite},// PLL CTRL D
	{0x030e ,0x04 ,"0x0100",eReadWrite},// PLL CTRL E
	{0x030f ,0x01 ,"0x0100",eReadWrite},// PLL CTRL F
	{0x0312 ,0x01 ,"0x0100",eReadWrite},// PLL CTRL 12
	{0x031e ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x3000 ,0x20 ,"0x0100",eReadWrite},// SC CMMN PAD OEN0
	{0x3002 ,0x00 ,"0x0100",eReadWrite},// SC CMMN PAD OEN2
	{0x3018 ,0x32 ,"0x0100",eReadWrite},// SC CMMN MIPI SC CTRL
	{0x3020 ,0x93 ,"0x0100",eReadWrite},// SC CMMN CLOCK SEL
	{0x3021 ,0x03 ,"0x0100",eReadWrite},// SC CMMN MISC CTRL
	{0x3022 ,0x01 ,"0x0100",eReadWrite},// SC CMMN MIPI SC CTRL
	{0x3031 ,0x0a ,"0x0100",eReadWrite},// SC CMMN BIT SEL
	{0x303f ,0x0c ,"0x0100",eReadWrite},// SCCB ID CTRL
	{0x3305 ,0xf1 ,"0x0100",eReadWrite},//
	{0x3307 ,0x04 ,"0x0100",eReadWrite},//
	{0x3309 ,0x29 ,"0x0100",eReadWrite},//
	{0x3500 ,0x00 ,"0x0100",eReadWrite},// AEC LONG EXPO
	{0x3501 ,0x60 ,"0x0100",eReadWrite},// AEC LONG EXPO
	{0x3502 ,0x00 ,"0x0100",eReadWrite},// AEC LONG EXPO
	{0x3503 ,0x04 ,"0x0100",eReadWrite},// AEC MANUAL
	{0x3504 ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x3505 ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x3506 ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x3507 ,0x00 ,"0x0100",eReadWrite},// AEC LONG GAIN
	{0x3508 ,0x00 ,"0x0100",eReadWrite},// AEC LONG GAIN 
	{0x3509 ,0x80 ,"0x0100",eReadWrite},// AEC LONG GAIN 
	{0x350a ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE EXPO
	{0x350b ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE EXPO
	{0x350c ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE EXPO
	{0x350d ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE GAIN
	{0x350e ,0x00 ,"0x0100",eReadWrite},// AEC MIDDLE GAIN
	{0x350f ,0x80 ,"0x0100",eReadWrite},// AEC MIDDLE GAIN
	{0x3510 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT EXPO
	{0x3511 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT EXPO
	{0x3512 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT EXPO
	{0x3513 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT GAIN
	{0x3514 ,0x00 ,"0x0100",eReadWrite},// AEC SHORT GAIN
	{0x3515 ,0x80 ,"0x0100",eReadWrite},// AEC SHORT GAIN	
	{0x3516 ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x3517 ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x3518 ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x3519 ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x351a ,0x00 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x351b ,0x80 ,"0x0100",eReadWrite},// AEC 4 EXPO
	{0x351c ,0x00 ,"0x0100",eReadWrite},// AEC 5 EXPO
	{0x351d ,0x00 ,"0x0100",eReadWrite},// AEC 5 EXPO
	{0x351e ,0x00 ,"0x0100",eReadWrite},// AEC 5 EXPO
	{0x351f ,0x00 ,"0x0100",eReadWrite},// AEC 5 GAIN
	{0x3520 ,0x00 ,"0x0100",eReadWrite},// AEC 5 GAIN
	{0x3521 ,0x80 ,"0x0100",eReadWrite},// AEC 5 GAIN
	{0x3522 ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC MIDDLE
	{0x3524 ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC SHORT
	{0x3526 ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC 4
	{0x3528 ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC 5
	{0x352a ,0x08 ,"0x0100",eReadWrite},// DIG GAIN FRAC LONG
	{0x3602 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3603 ,0x40 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3604 ,0x02 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3605 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3606 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3607 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3609 ,0x12 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x360a ,0x40 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x360c ,0x08 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x360f ,0xe5 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3608 ,0x8f ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3611 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3613 ,0xf7 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3616 ,0x58 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3619 ,0x99 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x361b ,0x60 ,"0x0100",eReadWrite},// ANALOG CTRL	
	{0x361c ,0x7a ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x361e ,0x79 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x361f ,0x02 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3632 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3633 ,0x10 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3634 ,0x10 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3635 ,0x10 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3636 ,0x15 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3646 ,0x86 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x364a ,0x0b ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x3700 ,0x17 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3701 ,0x22 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3703 ,0x10 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x370a ,0x37 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3705 ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3706 ,0x63 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3709 ,0x3c ,"0x0100",eReadWrite},// sensor timing control registers
	{0x370b ,0x01 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x370c ,0x30 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3710 ,0x24 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3711 ,0x0c ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3716 ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3720 ,0x28 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3729 ,0x7b ,"0x0100",eReadWrite},// sensor timing control registers
	{0x372a ,0x84 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x372b ,0xbd ,"0x0100",eReadWrite},// sensor timing control registers
	{0x372c ,0xbc ,"0x0100",eReadWrite},// sensor timing control registers
	{0x372e ,0x52 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x373c ,0x0e ,"0x0100",eReadWrite},// sensor timing control registers
	{0x373e ,0x33 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3743 ,0x10 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3744 ,0x88 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3745 ,0xc0 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x374a ,0x43 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x374c ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x374e ,0x23 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3751 ,0x7b ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3752 ,0x84 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3753 ,0xbd ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3754 ,0xbc ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3756 ,0x52 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x375c ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3760 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 60
	{0x3761 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 61
	{0x3762 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 62
	{0x3763 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 63
	{0x3764 ,0x00 ,"0x0100",eReadWrite},// sensor ctrl 64
	{0x3767 ,0x04 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3768 ,0x04 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3769 ,0x08 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376a ,0x08 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376b ,0x20 ,"0x0100",eReadWrite},// sensor timing control registers	
	{0x376c ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376d ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376e ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3773 ,0x00 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3774 ,0x51 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3776 ,0xbd ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3777 ,0xbd ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3781 ,0x18 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3783 ,0x25 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3798 ,0x1b ,"0x0100",eReadWrite},// sensor timing control registers
	{0x3800 ,0x00 ,"0x0100",eReadWrite},// h crop start[12:8]
	{0x3801 ,0x08 ,"0x0100",eReadWrite},// h crop start [7:0]
	{0x3802 ,0x00 ,"0x0100",eReadWrite},// v crop start [11:8]
	{0x3803 ,0x04 ,"0x0100",eReadWrite},// v crop start [7:0]
	{0x3804 ,0x0a ,"0x0100",eReadWrite},// h crop end [12:8]
	{0x3805 ,0x97 ,"0x0100",eReadWrite},// h crop end [7:0]
	{0x3806 ,0x05 ,"0x0100",eReadWrite},// v crop end [11:8]
	{0x3807 ,0xfb ,"0x0100",eReadWrite},// v crop end [7:0]
	{0x3808 ,0x0a ,"0x0100",eReadWrite},// h output size [12:8]
	{0x3809 ,0x80 ,"0x0100",eReadWrite},// h output size [7:0]
	{0x380a ,0x05 ,"0x0100",eReadWrite},// v output size [11:8]
	{0x380b ,0xf0 ,"0x0100",eReadWrite},// v output size [7:0]
	{0x380c ,0x0a ,"0x0100",eReadWrite},// h total size [14:8]
	{0x380d ,0x18 ,"0x0100",eReadWrite},// h total size [7:0]
	{0x380e ,0x06 ,"0x0100",eReadWrite},// v total size [14:8]
	{0x380f ,0x12 ,"0x0100",eReadWrite},// v total size [7:0]
	{0x3810 ,0x00 ,"0x0100",eReadWrite},// h win offset [11:8]
	{0x3811 ,0x08 ,"0x0100",eReadWrite},// h win offset [7:0]
	{0x3812 ,0x00 ,"0x0100",eReadWrite},// v win offset [11:8]
	{0x3813 ,0x04 ,"0x0100",eReadWrite},// v win offset [7:0]
	{0x3814 ,0x01 ,"0x0100",eReadWrite},// H INC ODD
	{0x3815 ,0x01 ,"0x0100",eReadWrite},// H INC EVEN
	{0x3819 ,0x01 ,"0x0100",eReadWrite},// VSYNC END L
	{0x3820 ,0x00 ,"0x0100",eReadWrite},// FORMART
	{0x3821 ,0x06 ,"0x0100",eReadWrite},// FORMART
	{0x3829 ,0x00 ,"0x0100",eReadWrite},// FORMAT
	{0x382a ,0x01 ,"0x0100",eReadWrite},// V INC ODD
	{0x382b ,0x01 ,"0x0100",eReadWrite},// V INC EVEN
	{0x382d ,0x7f ,"0x0100",eReadWrite},// BLC COL END
	{0x3830 ,0x04 ,"0x0100",eReadWrite},// BLC NUM OPTION
	{0x3836 ,0x01 ,"0x0100",eReadWrite},// TIMING REG 36
	{0x3837 ,0x00 ,"0x0100",eReadWrite},// TIMING REG 37
	{0x3841 ,0x02 ,"0x0100",eReadWrite},// TIMING REG 41
	{0x3846 ,0x08 ,"0x0100",eReadWrite},// TIMING REG 46
	{0x3847 ,0x07 ,"0x0100",eReadWrite},// TIMING REG 47
	{0x3d85 ,0x36 ,"0x0100",eReadWrite},// OPT REG85
	{0x3d8c ,0x71 ,"0x0100",eReadWrite},// OPT SETTING STT  ADDRESS
	{0x3d8d ,0xcb ,"0x0100",eReadWrite},// OPT SETTING STT  ADDRESS
	{0x3f0a ,0x00 ,"0x0100",eReadWrite},// PSRAM CTRL
	{0x4000 ,0xf1 ,"0x0100",eReadWrite},// BLC CTRL00
	{0x4001 ,0x40 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x4002 ,0x04 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x4003 ,0x14 ,"0x0100",eReadWrite},// BLC CTRL03	
	{0x400e ,0x00 ,"0x0100",eReadWrite},// BLC CTRL0E
	{0x4011 ,0x00 ,"0x0100",eReadWrite},// BLC CTRL11
	{0x401a ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x401b ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x401c ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x401d ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x401f ,0x00 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x4020 ,0x00 ,"0x0100",eReadWrite},// ANCHOR LEFT START
	{0x4021 ,0x10 ,"0x0100",eReadWrite},// ANCHOR LEFT START
	{0x4022 ,0x07 ,"0x0100",eReadWrite},// ANCHOR LEFT END
	{0x4023 ,0xcf ,"0x0100",eReadWrite},// ANCHOR LEFT END
	{0x4024 ,0x09 ,"0x0100",eReadWrite},// ANCHOR RIGHT START
	{0x4025 ,0x60 ,"0x0100",eReadWrite},// ANCHOR RIGHT START
	{0x4026 ,0x09 ,"0x0100",eReadWrite},// ANCHOR RIGHT END
	{0x4027 ,0x6f ,"0x0100",eReadWrite},// ANCHOR RIGHT END
	{0x4028 ,0x00 ,"0x0100",eReadWrite},// TOP ZLINE ST
	{0x4029 ,0x02 ,"0x0100",eReadWrite},// TOP ZLINE NUM
	{0x402a ,0x06 ,"0x0100",eReadWrite},// TOP BLKLINE ST
	{0x402b ,0x04 ,"0x0100",eReadWrite},// TOP BLKLINE NUM
	{0x402c ,0x02 ,"0x0100",eReadWrite},// BOT ZLINE ST
	{0x402d ,0x02 ,"0x0100",eReadWrite},// BOT ZLINE NUM
	{0x402e ,0x0e ,"0x0100",eReadWrite},// BOT BLKLINE ST
	{0x402f ,0x04 ,"0x0100",eReadWrite},// BOT BLKLINE NUM
	{0x4302 ,0xff ,"0x0100",eReadWrite},// CLIPPING MAX
	{0x4303 ,0xff ,"0x0100",eReadWrite},// CLIPPING MAX
	{0x4304 ,0x00 ,"0x0100",eReadWrite},// CLIPPING MIN
	{0x4305 ,0x00 ,"0x0100",eReadWrite},// CLIPPING MIN
	{0x4306 ,0x00 ,"0x0100",eReadWrite},// DPCM CTRL
	{0x4308 ,0x02 ,"0x0100",eReadWrite},// EMBED CTRL
	{0x4500 ,0x6c ,"0x0100",eReadWrite},// ADC SYNC CTRL
	{0x4501 ,0xc4 ,"0x0100",eReadWrite},// ADC SYNC CTRL
	{0x4502 ,0x40 ,"0x0100",eReadWrite},// ADC SYNC CTRL
	{0x4503 ,0x01,"0x0100", eReadWrite}, // ADC SYNC CTRL
	{0x4601 ,0xa7,"0x0100", eReadWrite}, // VFIFO CTRL 01
	{0x4800 ,0x04,"0x0100", eReadWrite}, // MIPI CTRL 00
	{0x4813 ,0x08,"0x0100", eReadWrite}, // MIPI CTRL 13
	{0x481f ,0x40,"0x0100", eReadWrite}, // CLK prepare min
	{0x4829 ,0x78,"0x0100", eReadWrite}, // hs exit min
	{0x4837 ,0x10,"0x0100", eReadWrite}, // pclk period
	{0x4b00 ,0x2a,"0x0100", eReadWrite}, // 
	{0x4b0d ,0x00,"0x0100", eReadWrite}, //  
	{0x4d00 ,0x04,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d01 ,0x42,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d02 ,0xd1,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d03 ,0x93,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d04 ,0xf5,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d05 ,0xc1,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x5000 ,0xf3,"0x0100", eReadWrite}, // ISP CTRL 0
	{0x5001 ,0x11,"0x0100", eReadWrite}, // ISP CTRL 1	
	{0x5004 ,0x00,"0x0100", eReadWrite}, // DEBUG MODE
	{0x500a ,0x00,"0x0100", eReadWrite}, // DEBUG MODE
	{0x500b ,0x00,"0x0100", eReadWrite}, // DEBUG MODE
	{0x5032 ,0x00,"0x0100", eReadWrite}, // DEBUG MODE
	{0x5040 ,0x00,"0x0100", eReadWrite}, // PRE ISP TEST CTRL
	{0x5050 ,0x0c,"0x0100", eReadWrite}, // DEBUG MODE
	{0x5500 ,0x00,"0x0100", eReadWrite}, // OPT DPC START
	{0x5501 ,0x10,"0x0100", eReadWrite}, // OPT DPC START
	{0x5502 ,0x01,"0x0100", eReadWrite}, // OPT DPC END
	{0x5503 ,0x0f,"0x0100", eReadWrite}, // OPT DPC END
	{0x8000 ,0x00,"0x0100", eReadWrite}, // TEST CTRL1
	{0x8001 ,0x00,"0x0100", eReadWrite}, // TEST CTRL2
	{0x8002 ,0x00,"0x0100", eReadWrite}, // TEST CTRL3
	{0x8003 ,0x00,"0x0100", eReadWrite}, // TEST CTRL4
	{0x8004 ,0x00,"0x0100", eReadWrite}, // TEST CTRL5
	{0x8005 ,0x00,"0x0100", eReadWrite}, // TEST CTRL6
	{0x8006 ,0x00,"0x0100", eReadWrite}, // TEST CTRL7
	{0x8007 ,0x00,"0x0100", eReadWrite}, // TEST CTRL8
	{0x8008 ,0x00,"0x0100", eReadWrite}, // TEST CTRL9
	{0x3638 ,0x00,"0x0100", eReadWrite}, // 
//	{0x0100 ,0x01,"0x0100", eReadWrite}, // wake up, streaming
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};
#endif

#if 0
const IsiRegDescription_t OV4188_g_aRegDescription_twolane[] =
{
	//XVCLK=24Mhz, SCLK=4x120Mhz, MIPI 672Mbps, DACCLK=240Mhz
	{0x0103 ,0x01 ,"0x0100", eReadWrite},// sc ctrl (software reset)
	{0x3638 ,0x00 ,"0x0100", eReadWrite},//
	{0x0300 ,0x01 ,"0x0100", eReadWrite},// PLL CTRL 0(pll1_pre_div)
	{0x0303 ,0x00 ,"0x0100", eReadWrite},// PLL CTRL 3
	{0x0304 ,0x03 ,"0x0100", eReadWrite},// PLL CTRL 4
	{0x030b ,0x00 ,"0x0100", eReadWrite},// PLL CTRL B
	{0x030d ,0x1e ,"0x0100", eReadWrite},// PLL CTRL D
	{0x030e ,0x04 ,"0x0100", eReadWrite},// PLL CTRL E
	{0x030f ,0x01 ,"0x0100", eReadWrite},// PLL CTRL F
	{0x0312 ,0x01 ,"0x0100", eReadWrite},// PLL CTRL 12
	{0x031e ,0x00 ,"0x0100", eReadWrite},// DEBUG MODE
	{0x3000 ,0x20 ,"0x0100", eReadWrite},// SC CMMN PAD OEN0
	{0x3002 ,0x00 ,"0x0100", eReadWrite},// SC CMMN PAD OEN2
	{0x3018 ,0x32 ,"0x0100", eReadWrite},// SC CMMN MIPI SC CTRL
	{0x3020 ,0x93 ,"0x0100", eReadWrite},// SC CMMN CLOCK SEL
	{0x3021 ,0x03 ,"0x0100", eReadWrite},// SC CMMN MISC CTRL
	{0x3022 ,0x01 ,"0x0100", eReadWrite},// SC CMMN MIPI SC CTRL
	{0x3031 ,0x0a ,"0x0100", eReadWrite},// SC CMMN BIT SEL
	{0x303f ,0x0c ,"0x0100", eReadWrite},// SCCB ID CTRL
	{0x3305 ,0xf1 ,"0x0100", eReadWrite},//
	{0x3307 ,0x04 ,"0x0100", eReadWrite},//
	{0x3309 ,0x29 ,"0x0100", eReadWrite},//
	{0x3500 ,0x00 ,"0x0100", eReadWrite},// AEC LONG EXPO
	{0x3502 ,0x00 ,"0x0100", eReadWrite},// AEC LONG EXPO
	{0x3503 ,0x04 ,"0x0100", eReadWrite},// AEC MANUAL
	{0x3504 ,0x00 ,"0x0100", eReadWrite},// DEBUG MODE
	{0x3505 ,0x00 ,"0x0100", eReadWrite},// DEBUG MODE
	{0x3506 ,0x00 ,"0x0100", eReadWrite},// DEBUG MODE
	{0x3507 ,0x00 ,"0x0100", eReadWrite},// AEC LONG GAIN
	{0x3508 ,0x00 ,"0x0100", eReadWrite},// AEC LONG GAIN 
	{0x3509 ,0x80 ,"0x0100", eReadWrite},// AEC LONG GAIN 
	{0x350a ,0x00 ,"0x0100", eReadWrite},// AEC MIDDLE EXPO
	{0x350b ,0x00 ,"0x0100", eReadWrite},// AEC MIDDLE EXPO
	{0x350c ,0x00 ,"0x0100", eReadWrite},// AEC MIDDLE EXPO
	{0x350d ,0x00 ,"0x0100", eReadWrite},// AEC MIDDLE GAIN
	{0x350e ,0x00 ,"0x0100", eReadWrite},// AEC MIDDLE GAIN
	{0x350f ,0x80 ,"0x0100", eReadWrite},// AEC MIDDLE GAIN
	{0x3510 ,0x00 ,"0x0100", eReadWrite},// AEC SHORT EXPO
	{0x3511 ,0x00 ,"0x0100", eReadWrite},// AEC SHORT EXPO
	{0x3512 ,0x00 ,"0x0100", eReadWrite},// AEC SHORT EXPO
	{0x3513 ,0x00 ,"0x0100", eReadWrite},// AEC SHORT GAIN
	{0x3514 ,0x00 ,"0x0100", eReadWrite},// AEC SHORT GAIN
	{0x3515 ,0x80 ,"0x0100", eReadWrite},// AEC SHORT GAIN	
	{0x3516 ,0x00 ,"0x0100", eReadWrite},// AEC 4 EXPO
	{0x3517 ,0x00 ,"0x0100", eReadWrite},// AEC 4 EXPO
	{0x3518 ,0x00 ,"0x0100", eReadWrite},// AEC 4 EXPO
	{0x3519 ,0x00 ,"0x0100", eReadWrite},// AEC 4 EXPO
	{0x351a ,0x00 ,"0x0100", eReadWrite},// AEC 4 EXPO
	{0x351b ,0x80 ,"0x0100", eReadWrite},// AEC 4 EXPO
	{0x351c ,0x00 ,"0x0100", eReadWrite},// AEC 5 EXPO
	{0x351d ,0x00 ,"0x0100", eReadWrite},// AEC 5 EXPO
	{0x351e ,0x00 ,"0x0100", eReadWrite},// AEC 5 EXPO
	{0x351f ,0x00 ,"0x0100", eReadWrite},// AEC 5 GAIN
	{0x3520 ,0x00 ,"0x0100", eReadWrite},// AEC 5 GAIN
	{0x3521 ,0x80 ,"0x0100", eReadWrite},// AEC 5 GAIN
	{0x3522 ,0x08 ,"0x0100", eReadWrite},// DIG GAIN FRAC MIDDLE
	{0x3524 ,0x08 ,"0x0100", eReadWrite},// DIG GAIN FRAC SHORT
	{0x3526 ,0x08 ,"0x0100", eReadWrite},// DIG GAIN FRAC 4
	{0x3528 ,0x08 ,"0x0100", eReadWrite},// DIG GAIN FRAC 5
	{0x352a ,0x08 ,"0x0100", eReadWrite},// DIG GAIN FRAC LONG
	{0x3602 ,0x00 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x3603 ,0x40 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x3604 ,0x02 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x3605 ,0x00 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x3606 ,0x00 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x3607 ,0x00 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x3609 ,0x12 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x360a ,0x40 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x360c ,0x08 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x360f ,0xe5 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x3608 ,0x8f ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x3611 ,0x00 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x3613 ,0xf7 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x3616 ,0x58 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x3619 ,0x99 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x361b ,0x60 ,"0x0100", eReadWrite},// ANALOG CTRL	
	{0x361c ,0x7a ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x361e ,0x79 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x361f ,0x02 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x3633 ,0x10 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x3634 ,0x10 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x3635 ,0x10 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x3636 ,0x15 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x3646 ,0x86 ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x364a ,0x0b ,"0x0100", eReadWrite},// ANALOG CTRL
	{0x3700 ,0x17 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3701 ,0x22 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3703 ,0x10 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x370a ,0x37 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3705 ,0x00 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3706 ,0x63 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3709 ,0x3c ,"0x0100", eReadWrite},// sensor timing control registers
	{0x370b ,0x01 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x370c ,0x30 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3710 ,0x24 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3711 ,0x0c ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3716 ,0x00 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3720 ,0x28 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3729 ,0x7b ,"0x0100", eReadWrite},// sensor timing control registers
	{0x372a ,0x84 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x372b ,0xbd ,"0x0100", eReadWrite},// sensor timing control registers
	{0x372c ,0xbc ,"0x0100", eReadWrite},// sensor timing control registers
	{0x372e ,0x52 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x373c ,0x0e ,"0x0100", eReadWrite},// sensor timing control registers
	{0x373e ,0x33 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3743 ,0x10 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3744 ,0x88 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3745 ,0xc0 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x374c ,0x00 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x374e ,0x23 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3751 ,0x7b ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3752 ,0x84 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3753 ,0xbd ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3754 ,0xbc ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3756 ,0x52 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x375c ,0x00 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3760 ,0x00 ,"0x0100", eReadWrite},// sensor ctrl 60
	{0x3761 ,0x00 ,"0x0100", eReadWrite},// sensor ctrl 61
	{0x3762 ,0x00 ,"0x0100", eReadWrite},// sensor ctrl 62
	{0x3763 ,0x00 ,"0x0100", eReadWrite},// sensor ctrl 63
	{0x3764 ,0x00 ,"0x0100", eReadWrite},// sensor ctrl 64
	{0x3767 ,0x04 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3768 ,0x04 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3769 ,0x08 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x376a ,0x08 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x376c ,0x00 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x376d ,0x00 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x376e ,0x00 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3773 ,0x00 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3774 ,0x51 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3776 ,0xbd ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3777 ,0xbd ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3781 ,0x18 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3783 ,0x25 ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3798 ,0x1b ,"0x0100", eReadWrite},// sensor timing control registers
	{0x3829 ,0x00 ,"0x0100", eReadWrite},// FORMAT
	{0x382b ,0x01 ,"0x0100", eReadWrite},// V INC EVEN
	{0x382d ,0x7f ,"0x0100", eReadWrite},// BLC COL END
	{0x3837 ,0x00 ,"0x0100", eReadWrite},// TIMING REG 37
	{0x3841 ,0x02 ,"0x0100", eReadWrite},// TIMING REG 41
	{0x3846 ,0x08 ,"0x0100", eReadWrite},// TIMING REG 46
	{0x3847 ,0x07 ,"0x0100", eReadWrite},// TIMING REG 47
	{0x3d85 ,0x36 ,"0x0100", eReadWrite},// OPT REG85
	{0x3d8c ,0x71 ,"0x0100", eReadWrite},// OPT SETTING STT  ADDRESS
	{0x3d8d ,0xcb ,"0x0100", eReadWrite},// OPT SETTING STT  ADDRESS
	{0x3f0a ,0x00 ,"0x0100", eReadWrite},// PSRAM CTRL
	{0x4000 ,0xf1 ,"0x0100", eReadWrite},// BLC CTRL00
	{0x4002 ,0x04 ,"0x0100", eReadWrite},// DEBUG MODE
	{0x400e ,0x00 ,"0x0100", eReadWrite},// BLC CTRL0E
	{0x4011 ,0x00 ,"0x0100", eReadWrite},// BLC CTRL11
	{0x401a ,0x00 ,"0x0100", eReadWrite},// DEBUG MODE
	{0x401b ,0x00 ,"0x0100", eReadWrite},// DEBUG MODE
	{0x401c ,0x00 ,"0x0100", eReadWrite},// DEBUG MODE
	{0x401d ,0x00 ,"0x0100", eReadWrite},// DEBUG MODE
	{0x401f ,0x00 ,"0x0100", eReadWrite},// DEBUG MODE
	{0x4020 ,0x00 ,"0x0100", eReadWrite},// ANCHOR LEFT START
	{0x4021 ,0x10 ,"0x0100", eReadWrite},// ANCHOR LEFT START
	{0x4028 ,0x00 ,"0x0100", eReadWrite},// TOP ZLINE ST
	{0x4029 ,0x02 ,"0x0100", eReadWrite},// TOP ZLINE NUM
	{0x402c ,0x02 ,"0x0100", eReadWrite},// BOT ZLINE ST
	{0x402d ,0x02 ,"0x0100", eReadWrite},// BOT ZLINE NUM
	{0x4302 ,0xff ,"0x0100", eReadWrite},// CLIPPING MAX
	{0x4303 ,0xff ,"0x0100", eReadWrite},// CLIPPING MAX
	{0x4304 ,0x00 ,"0x0100", eReadWrite},// CLIPPING MIN
	{0x4305 ,0x00 ,"0x0100", eReadWrite},// CLIPPING MIN
	{0x4306 ,0x00 ,"0x0100", eReadWrite},// DPCM CTRL
	{0x4308 ,0x02 ,"0x0100", eReadWrite},// EMBED CTRL
	{0x4500 ,0x6c ,"0x0100", eReadWrite},// ADC SYNC CTRL
	{0x4501 ,0xc4 ,"0x0100", eReadWrite},// ADC SYNC CTRL
	{0x4503 ,0x01 ,"0x0100", eReadWrite}, // ADC SYNC CTRL
	{0x4800 ,0x04 ,"0x0100", eReadWrite}, // MIPI CTRL 00
	{0x4813 ,0x08 ,"0x0100", eReadWrite}, // MIPI CTRL 13
	{0x481f ,0x40 ,"0x0100", eReadWrite}, // CLK prepare min
	{0x4829 ,0x78 ,"0x0100", eReadWrite}, // hs exit min
	{0x4837 ,0x18 ,"0x0100", eReadWrite}, // pclk period
	{0x4b00 ,0x2a ,"0x0100", eReadWrite}, // 
	{0x4b0d ,0x00 ,"0x0100", eReadWrite}, //  
	{0x4d00 ,0x04 ,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d01 ,0x42 ,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d02 ,0xd1 ,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d03 ,0x93 ,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d04 ,0xf5 ,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x4d05 ,0xc1 ,"0x0100", eReadWrite}, // TPM CTRL 00
	{0x5000 ,0xf3 ,"0x0100", eReadWrite}, // ISP CTRL 0
	{0x5001 ,0x11 ,"0x0100", eReadWrite}, // ISP CTRL 1	
	{0x5004 ,0x00 ,"0x0100", eReadWrite}, // DEBUG MODE
	{0x500a ,0x00 ,"0x0100", eReadWrite}, // DEBUG MODE
	{0x500b ,0x00 ,"0x0100", eReadWrite}, // DEBUG MODE
	{0x5032 ,0x00 ,"0x0100", eReadWrite}, // DEBUG MODE
	{0x5040 ,0x00 ,"0x0100", eReadWrite}, // PRE ISP TEST CTRL
	{0x5500 ,0x00 ,"0x0100", eReadWrite}, // OPT DPC START
	{0x5501 ,0x10 ,"0x0100", eReadWrite}, // OPT DPC START
	{0x5502 ,0x01 ,"0x0100", eReadWrite}, // OPT DPC END
	{0x5503 ,0x0f ,"0x0100", eReadWrite}, // OPT DPC END
	{0x8000 ,0x00 ,"0x0100", eReadWrite}, // TEST CTRL1
	{0x8001 ,0x00 ,"0x0100", eReadWrite}, // TEST CTRL2
	{0x8002 ,0x00 ,"0x0100", eReadWrite}, // TEST CTRL3
	{0x8003 ,0x00 ,"0x0100", eReadWrite}, // TEST CTRL4
	{0x8004 ,0x00 ,"0x0100", eReadWrite}, // TEST CTRL5
	{0x8005 ,0x00 ,"0x0100", eReadWrite}, // TEST CTRL6
	{0x8006 ,0x00 ,"0x0100", eReadWrite}, // TEST CTRL7
	{0x8007 ,0x00 ,"0x0100", eReadWrite}, // TEST CTRL8
	{0x8008 ,0x00 ,"0x0100", eReadWrite}, // TEST CTRL9
	{0x3638 ,0x00 ,"0x0100", eReadWrite}, // 
//	{0x0100 ,0x01,"0x0100", eReadWrite}, // wake up, streaming
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_twolane_resolution_2688_1520[] =
{
	//@@ ISI_RES_2688_1520   30FPS 
	{0x0302 ,0x2a ,"0x0100",eReadWrite},// PLL CTRL 2
	{0x3501 ,0x60 ,"0x0100",eReadWrite},// AEC LONG EXPO
	{0x3632 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL	
	{0x374a ,0x43 ,"0x0100",eReadWrite},// sensor timing control registers	
	{0x376b ,0x20 ,"0x0100",eReadWrite},// sensor timing control registers	
	{0x3800 ,0x00 ,"0x0100",eReadWrite},// h crop start[12:8]
	{0x3801 ,0x08 ,"0x0100",eReadWrite},// h crop start [7:0]
	{0x3802 ,0x00 ,"0x0100",eReadWrite},// v crop start [11:8]
	{0x3803 ,0x04 ,"0x0100",eReadWrite},// v crop start [7:0]
	{0x3804 ,0x0a ,"0x0100",eReadWrite},// h crop end [12:8]
	{0x3805 ,0x97 ,"0x0100",eReadWrite},// h crop end [7:0]
	{0x3806 ,0x05 ,"0x0100",eReadWrite},// v crop end [11:8]
	{0x3807 ,0xfb ,"0x0100",eReadWrite},// v crop end [7:0]
	{0x3808 ,0x0a ,"0x0100",eReadWrite},// h output size [12:8]
	{0x3809 ,0x80 ,"0x0100",eReadWrite},// h output size [7:0]
	{0x380a ,0x05 ,"0x0100",eReadWrite},// v output size [11:8]
	{0x380b ,0xf0 ,"0x0100",eReadWrite},// v output size [7:0]
	{0x380c ,0x0a ,"0x0100",eReadWrite},// h total size [14:8]
	{0x380d ,0x0a ,"0x0100",eReadWrite},// h total size [7:0]
	{0x380e ,0x06 ,"0x0100",eReadWrite},// v total size [14:8]
	{0x380f ,0x14 ,"0x0100",eReadWrite},// v total size [7:0]
	{0x3810 ,0x00 ,"0x0100",eReadWrite},// h win offset [11:8]
	{0x3811 ,0x08 ,"0x0100",eReadWrite},// h win offset [7:0]
	{0x3812 ,0x00 ,"0x0100",eReadWrite},// v win offset [11:8]
	{0x3813 ,0x04 ,"0x0100",eReadWrite},// v win offset [7:0]
	{0x3814 ,0x01 ,"0x0100",eReadWrite},// H INC ODD
	{0x3815 ,0x01 ,"0x0100",eReadWrite},// H INC EVEN
	{0x3819 ,0x01 ,"0x0100",eReadWrite},// VSYNC END L
	{0x3820 ,0x00 ,"0x0100",eReadWrite},// FORMART
	{0x3821 ,0x06 ,"0x0100",eReadWrite},// FORMART
	{0x382a ,0x01 ,"0x0100",eReadWrite},// V INC ODD
	{0x3830 ,0x04 ,"0x0100",eReadWrite},// BLC NUM OPTION
	{0x3836 ,0x01 ,"0x0100",eReadWrite},// TIMING REG 36
	{0x4001 ,0x40 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x4003 ,0x14 ,"0x0100",eReadWrite},// BLC CTRL03	
	{0x4022 ,0x07 ,"0x0100",eReadWrite},// ANCHOR LEFT END
	{0x4023 ,0xcf ,"0x0100",eReadWrite},// ANCHOR LEFT END
	{0x4024 ,0x09 ,"0x0100",eReadWrite},// ANCHOR RIGHT START
	{0x4025 ,0x60 ,"0x0100",eReadWrite},// ANCHOR RIGHT START
	{0x4026 ,0x09 ,"0x0100",eReadWrite},// ANCHOR RIGHT END
	{0x4027 ,0x6f ,"0x0100",eReadWrite},// ANCHOR RIGHT END
	{0x402a ,0x06 ,"0x0100",eReadWrite},// TOP BLKLINE ST
	{0x402b ,0x04 ,"0x0100",eReadWrite},// TOP BLKLINE NUM
	{0x402e ,0x0e ,"0x0100",eReadWrite},// BOT BLKLINE ST
	{0x402f ,0x04 ,"0x0100",eReadWrite},// BOT BLKLINE NUM
	{0x4502 ,0x40 ,"0x0100",eReadWrite},// ADC SYNC CTRL
	{0x4601 ,0xa7,"0x0100", eReadWrite}, // VFIFO CTRL 01
	{0x5050 ,0x0c,"0x0100", eReadWrite}, // DEBUG MODE
//	{0x0100 ,0x01,"0x0100", eReadWrite}, // wake up, streaming
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_2688x1520P30_twolane_fpschg[] =
{
	{0x380e ,0x06 ,"0x0100",eReadWrite},// h total size [14:8]
	{0x380f ,0x14 ,"0x0100",eReadWrite},// h total size [7:0]
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_2688x1520P25_twolane_fpschg[] =
{
	{0x380e ,0x07 ,"0x0100",eReadWrite},// vTS H
	{0x380f ,0x4a ,"0x0100",eReadWrite},// vTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_2688x1520P15_twolane_fpschg[] =
{
	{0x380e ,0x0c ,"0x0100",eReadWrite},// vTS H
	{0x380f ,0x24 ,"0x0100",eReadWrite},// vTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_2688x1520P10_twolane_fpschg[] =
{
	{0x380e ,0x12 ,"0x0100",eReadWrite},// vTS H
	{0x380f ,0x34 ,"0x0100",eReadWrite},// vTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_2688x1520P7_twolane_fpschg[] =
{
	{0x380e ,0x19 ,"0x0100",eReadWrite},// vTS H
	{0x380f ,0xff ,"0x0100",eReadWrite},// vTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

#else
const IsiRegDescription_t OV4188_g_aRegDescription_twolane[] =
{
	
	//@@ 0 10 RES_2688x1520_default_1008Mbps(30fps) 2-lane
	{0x0103, 0x01, "0x0100", eReadWrite}, 
	{0x3638, 0x00, "0x0100", eReadWrite}, 
	{0x0300, 0x00, "0x0100", eReadWrite}, 
	{0x0302, 0x2a, "0x0100", eReadWrite}, 
	{0x0303, 0x00, "0x0100", eReadWrite},
	{0x0304, 0x03, "0x0100", eReadWrite}, 
	{0x030b, 0x00, "0x0100", eReadWrite}, 
	{0x030d, 0x1e, "0x0100", eReadWrite}, 
	{0x030e, 0x04, "0x0100", eReadWrite}, 
	{0x030f, 0x01, "0x0100", eReadWrite}, 
	{0x0312, 0x01, "0x0100", eReadWrite}, 
	{0x031e, 0x00, "0x0100", eReadWrite}, 
	{0x3000, 0x20, "0x0100", eReadWrite}, 
	{0x3002, 0x00, "0x0100", eReadWrite}, 
	{0x3018, 0x32, "0x0100", eReadWrite}, //;72 
	{0x3020, 0x93, "0x0100", eReadWrite}, 
	{0x3021, 0x03, "0x0100", eReadWrite}, 
	{0x3022, 0x01, "0x0100", eReadWrite}, 
	{0x3031, 0x0a, "0x0100", eReadWrite}, 
	{0x303f, 0x0c, "0x0100", eReadWrite},
	{0x3305, 0xf1, "0x0100", eReadWrite}, 
	{0x3307, 0x04, "0x0100", eReadWrite}, 
	{0x3309, 0x29, "0x0100", eReadWrite}, 
	{0x3500, 0x00, "0x0100", eReadWrite}, 
	{0x3501, 0x60, "0x0100", eReadWrite}, 
	{0x3502, 0x00, "0x0100", eReadWrite}, 
	{0x3503, 0x04, "0x0100", eReadWrite}, 
	{0x3504, 0x00, "0x0100", eReadWrite}, 
	{0x3505, 0x00, "0x0100", eReadWrite}, 
	{0x3506, 0x00, "0x0100", eReadWrite}, 
	{0x3507, 0x00, "0x0100", eReadWrite}, 
	{0x3508, 0x00, "0x0100", eReadWrite}, 
	{0x3509, 0x80, "0x0100", eReadWrite}, 
	{0x350a, 0x00, "0x0100", eReadWrite}, 
	{0x350b, 0x00, "0x0100", eReadWrite}, 
	{0x350c, 0x00, "0x0100", eReadWrite}, 
	{0x350d, 0x00, "0x0100", eReadWrite}, 
	{0x350e, 0x00, "0x0100", eReadWrite}, 
	{0x350f, 0x80, "0x0100", eReadWrite}, 
	{0x3510, 0x00, "0x0100", eReadWrite}, 
	{0x3511, 0x00, "0x0100", eReadWrite}, 
	{0x3512, 0x00, "0x0100", eReadWrite}, 
	{0x3513, 0x00, "0x0100", eReadWrite}, 
	{0x3514, 0x00, "0x0100", eReadWrite}, 
	{0x3515, 0x80, "0x0100", eReadWrite}, 
	{0x3516, 0x00, "0x0100", eReadWrite}, 
	{0x3517, 0x00, "0x0100", eReadWrite}, 
	{0x3518, 0x00, "0x0100", eReadWrite}, 
	{0x3519, 0x00, "0x0100", eReadWrite}, 
	{0x351a, 0x00, "0x0100", eReadWrite}, 
	{0x351b, 0x80, "0x0100", eReadWrite}, 
	{0x351c, 0x00, "0x0100", eReadWrite}, 
	{0x351d, 0x00, "0x0100", eReadWrite}, 
	{0x351e, 0x00, "0x0100", eReadWrite}, 
	{0x351f, 0x00, "0x0100", eReadWrite}, 
	{0x3520, 0x00, "0x0100", eReadWrite}, 
	{0x3521, 0x80, "0x0100", eReadWrite}, 
	{0x3522, 0x08, "0x0100", eReadWrite}, 
	{0x3524, 0x08, "0x0100", eReadWrite}, 
	{0x3526, 0x08, "0x0100", eReadWrite}, 
	{0x3528, 0x08, "0x0100", eReadWrite}, 
	{0x352a, 0x08, "0x0100", eReadWrite}, 
	{0x3602, 0x00, "0x0100", eReadWrite}, 
	{0x3603, 0x40, "0x0100", eReadWrite}, 
	{0x3604, 0x02, "0x0100", eReadWrite}, 
	{0x3605, 0x00, "0x0100", eReadWrite}, 
	{0x3606, 0x00, "0x0100", eReadWrite}, 
	{0x3607, 0x00, "0x0100", eReadWrite}, 
	{0x3609, 0x12, "0x0100", eReadWrite}, 
	{0x360a, 0x40, "0x0100", eReadWrite}, 
	{0x360c, 0x08, "0x0100", eReadWrite}, 
	{0x360f, 0xe5, "0x0100", eReadWrite}, 
	{0x3608, 0x8f, "0x0100", eReadWrite}, 
	{0x3611, 0x00, "0x0100", eReadWrite}, 
	{0x3613, 0xf7, "0x0100", eReadWrite}, 
	{0x3616, 0x58, "0x0100", eReadWrite}, 
	{0x3619, 0x99, "0x0100", eReadWrite}, 
	{0x361b, 0x60, "0x0100", eReadWrite}, 
	{0x361c, 0x7a, "0x0100", eReadWrite}, 
	{0x361e, 0x79, "0x0100", eReadWrite}, 
	{0x361f, 0x02, "0x0100", eReadWrite}, 
	{0x3632, 0x00, "0x0100", eReadWrite}, 
	{0x3633, 0x10, "0x0100", eReadWrite}, 
	{0x3634, 0x10, "0x0100", eReadWrite}, 
	{0x3635, 0x10, "0x0100", eReadWrite}, 
	{0x3636, 0x15, "0x0100", eReadWrite}, 
	{0x3646, 0x86, "0x0100", eReadWrite}, 
	{0x364a, 0x0b, "0x0100", eReadWrite}, 
	{0x3700, 0x17, "0x0100", eReadWrite}, 
	{0x3701, 0x22, "0x0100", eReadWrite}, 
	{0x3703, 0x10, "0x0100", eReadWrite}, 
	{0x370a, 0x37, "0x0100", eReadWrite}, 
	{0x3705, 0x00, "0x0100", eReadWrite}, 
	{0x3706, 0x63, "0x0100", eReadWrite}, 
	{0x3709, 0x3c, "0x0100", eReadWrite}, 
	{0x370b, 0x01, "0x0100", eReadWrite}, 
	{0x370c, 0x30, "0x0100", eReadWrite}, 
	{0x3710, 0x24, "0x0100", eReadWrite}, 
	{0x3711, 0x0c, "0x0100", eReadWrite}, 
	{0x3716, 0x00, "0x0100", eReadWrite}, 
	{0x3720, 0x28, "0x0100", eReadWrite}, 
	{0x3729, 0x7b, "0x0100", eReadWrite}, 
	{0x372a, 0x84, "0x0100", eReadWrite}, 
	{0x372b, 0xbd, "0x0100", eReadWrite}, 
	{0x372c, 0xbc, "0x0100", eReadWrite}, 
	{0x372e, 0x52, "0x0100", eReadWrite}, 
	{0x373c, 0x0e, "0x0100", eReadWrite}, 
	{0x373e, 0x33, "0x0100", eReadWrite}, 
	{0x3743, 0x10, "0x0100", eReadWrite}, 
	{0x3744, 0x88, "0x0100", eReadWrite}, 
	{0x3745, 0xc0, "0x0100", eReadWrite}, 
	{0x374a, 0x43, "0x0100", eReadWrite}, 
	{0x374c, 0x00, "0x0100", eReadWrite}, 
	{0x374e, 0x23, "0x0100", eReadWrite}, 
	{0x3751, 0x7b, "0x0100", eReadWrite}, 
	{0x3752, 0x84, "0x0100", eReadWrite}, 
	{0x3753, 0xbd, "0x0100", eReadWrite}, 
	{0x3754, 0xbc, "0x0100", eReadWrite}, 
	{0x3756, 0x52, "0x0100", eReadWrite}, 
	{0x375c, 0x00, "0x0100", eReadWrite}, 
	{0x3760, 0x00, "0x0100", eReadWrite}, 
	{0x3761, 0x00, "0x0100", eReadWrite}, 
	{0x3762, 0x00, "0x0100", eReadWrite}, 
	{0x3763, 0x00, "0x0100", eReadWrite}, 
	{0x3764, 0x00, "0x0100", eReadWrite}, 
	{0x3767, 0x04, "0x0100", eReadWrite}, 
	{0x3768, 0x04, "0x0100", eReadWrite}, 
	{0x3769, 0x08, "0x0100", eReadWrite}, 
	{0x376a, 0x08, "0x0100", eReadWrite}, 
	{0x376b, 0x20, "0x0100", eReadWrite}, 
	{0x376c, 0x00, "0x0100", eReadWrite}, 
	{0x376d, 0x00, "0x0100", eReadWrite}, 
	{0x376e, 0x00, "0x0100", eReadWrite}, 
	{0x3773, 0x00, "0x0100", eReadWrite}, 
	{0x3774, 0x51, "0x0100", eReadWrite}, 
	{0x3776, 0xbd, "0x0100", eReadWrite}, 
	{0x3777, 0xbd, "0x0100", eReadWrite}, 
	{0x3781, 0x18, "0x0100", eReadWrite}, 
	{0x3783, 0x25, "0x0100", eReadWrite}, 
	{0x3798, 0x1b, "0x0100", eReadWrite}, 
	{0x3800, 0x00, "0x0100", eReadWrite}, 
	{0x3801, 0x08, "0x0100", eReadWrite}, 
	{0x3802, 0x00, "0x0100", eReadWrite}, 
	{0x3803, 0x04, "0x0100", eReadWrite}, 
	{0x3804, 0x0a, "0x0100", eReadWrite}, 
	{0x3805, 0x97, "0x0100", eReadWrite}, 
	{0x3806, 0x05, "0x0100", eReadWrite}, 
	{0x3807, 0xfb, "0x0100", eReadWrite}, 
	{0x3808, 0x0a, "0x0100", eReadWrite}, 
	{0x3809, 0x80, "0x0100", eReadWrite}, 
	{0x380a, 0x05, "0x0100", eReadWrite}, 
	{0x380b, 0xf0, "0x0100", eReadWrite}, 
	{0x380c, 0x0A, "0x0100", eReadWrite}, 
	{0x380d, 0x18, "0x0100", eReadWrite}, 
	{0x380e, 0x06, "0x0100", eReadWrite}, 
	{0x380f, 0x12, "0x0100", eReadWrite}, 
	{0x3810, 0x00, "0x0100", eReadWrite}, 
	{0x3811, 0x08, "0x0100", eReadWrite}, 
	{0x3812, 0x00, "0x0100", eReadWrite}, 
	{0x3813, 0x04, "0x0100", eReadWrite}, 
	{0x3814, 0x01, "0x0100", eReadWrite}, 
	{0x3815, 0x01, "0x0100", eReadWrite}, 
	{0x3819, 0x01, "0x0100", eReadWrite}, 
	{0x3820, 0x00, "0x0100", eReadWrite}, 
	{0x3821, 0x06, "0x0100", eReadWrite}, 
	{0x3829, 0x00, "0x0100", eReadWrite}, 
	{0x382a, 0x01, "0x0100", eReadWrite}, 
	{0x382b, 0x01, "0x0100", eReadWrite}, 
	{0x382d, 0x7f, "0x0100", eReadWrite}, 
	{0x3830, 0x04, "0x0100", eReadWrite}, 
	{0x3836, 0x01, "0x0100", eReadWrite}, 
	{0x3837, 0x00, "0x0100", eReadWrite}, 
	{0x3841, 0x02, "0x0100", eReadWrite}, 
	{0x3846, 0x08, "0x0100", eReadWrite}, 
	{0x3847, 0x07, "0x0100", eReadWrite}, 
	{0x3d85, 0x36, "0x0100", eReadWrite}, 
	{0x3d8c, 0x71, "0x0100", eReadWrite}, 
	{0x3d8d, 0xcb, "0x0100", eReadWrite}, 
	{0x3f0a, 0x00, "0x0100", eReadWrite}, 
	{0x4000, 0xf1, "0x0100", eReadWrite}, 
	{0x4001, 0x40, "0x0100", eReadWrite}, 
	{0x4002, 0x04, "0x0100", eReadWrite}, 
	{0x4003, 0x14, "0x0100", eReadWrite}, 
	{0x400e, 0x00, "0x0100", eReadWrite}, 
	{0x4011, 0x00, "0x0100", eReadWrite}, 
	{0x401a, 0x00, "0x0100", eReadWrite}, 
	{0x401b, 0x00, "0x0100", eReadWrite}, 
	{0x401c, 0x00, "0x0100", eReadWrite}, 
	{0x401d, 0x00, "0x0100", eReadWrite}, 
	{0x401f, 0x00, "0x0100", eReadWrite}, 
	{0x4020, 0x00, "0x0100", eReadWrite}, 
	{0x4021, 0x10, "0x0100", eReadWrite}, 
	{0x4022, 0x07, "0x0100", eReadWrite}, 
	{0x4023, 0xcf, "0x0100", eReadWrite}, 
	{0x4024, 0x09, "0x0100", eReadWrite}, 
	{0x4025, 0x60, "0x0100", eReadWrite}, 
	{0x4026, 0x09, "0x0100", eReadWrite}, 
	{0x4027, 0x6f, "0x0100", eReadWrite}, 
	{0x4028, 0x00, "0x0100", eReadWrite}, 
	{0x4029, 0x02, "0x0100", eReadWrite}, 
	{0x402a, 0x06, "0x0100", eReadWrite}, 
	{0x402b, 0x04, "0x0100", eReadWrite}, 
	{0x402c, 0x02, "0x0100", eReadWrite}, 
	{0x402d, 0x02, "0x0100", eReadWrite}, 
	{0x402e, 0x0e, "0x0100", eReadWrite}, 
	{0x402f, 0x04, "0x0100", eReadWrite}, 
	{0x4302, 0xff, "0x0100", eReadWrite}, 
	{0x4303, 0xff, "0x0100", eReadWrite}, 
	{0x4304, 0x00, "0x0100", eReadWrite}, 
	{0x4305, 0x00, "0x0100", eReadWrite}, 
	{0x4306, 0x00, "0x0100", eReadWrite}, 
	{0x4308, 0x02, "0x0100", eReadWrite}, 
	{0x4500, 0x6c, "0x0100", eReadWrite}, 
	{0x4501, 0xc4, "0x0100", eReadWrite}, 
	{0x4502, 0x40, "0x0100", eReadWrite}, 
	{0x4503, 0x01, "0x0100", eReadWrite}, 
	{0x4601, 0xA7, "0x0100", eReadWrite},
	{0x4800, 0x04, "0x0100", eReadWrite}, 
	{0x4813, 0x08, "0x0100", eReadWrite}, 
	{0x481f, 0x40, "0x0100", eReadWrite}, 
	{0x4829, 0x78, "0x0100", eReadWrite}, 
	{0x4837, 0x10, "0x0100", eReadWrite}, 
	{0x4b00, 0x2a, "0x0100", eReadWrite}, 
	{0x4b0d, 0x00, "0x0100", eReadWrite}, 
	{0x4d00, 0x04, "0x0100", eReadWrite}, 
	{0x4d01, 0x42, "0x0100", eReadWrite}, 
	{0x4d02, 0xd1, "0x0100", eReadWrite}, 
	{0x4d03, 0x93, "0x0100", eReadWrite}, 
	{0x4d04, 0xf5, "0x0100", eReadWrite}, 
	{0x4d05, 0xc1, "0x0100", eReadWrite}, 
	{0x5000, 0xf3, "0x0100", eReadWrite}, 
	{0x5001, 0x11, "0x0100", eReadWrite}, 
	{0x5004, 0x00, "0x0100", eReadWrite}, 
	{0x500a, 0x00, "0x0100", eReadWrite}, 
	{0x500b, 0x00, "0x0100", eReadWrite}, 
	{0x5032, 0x00, "0x0100", eReadWrite}, 
	{0x5040, 0x00, "0x0100", eReadWrite}, 
	{0x5050, 0x0c, "0x0100", eReadWrite}, 
	{0x5500, 0x00, "0x0100", eReadWrite}, 
	{0x5501, 0x10, "0x0100", eReadWrite}, 
	{0x5502, 0x01, "0x0100", eReadWrite}, 
	{0x5503, 0x0f, "0x0100", eReadWrite}, 
	{0x8000, 0x00, "0x0100", eReadWrite}, 
	{0x8001, 0x00, "0x0100", eReadWrite}, 
	{0x8002, 0x00, "0x0100", eReadWrite}, 
	{0x8003, 0x00, "0x0100", eReadWrite}, 
	{0x8004, 0x00, "0x0100", eReadWrite}, 
	{0x8005, 0x00, "0x0100", eReadWrite}, 
	{0x8006, 0x00, "0x0100", eReadWrite}, 
	{0x8007, 0x00, "0x0100", eReadWrite}, 
	{0x8008, 0x00, "0x0100", eReadWrite}, 
	{0x3638, 0x00, "0x0100", eReadWrite}, 
	//{0x0100, 0x01, "0x0100", eReadWrite}, 
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};


const IsiRegDescription_t OV4188_g_twolane_resolution_2688_1520[] =
{
	//@@ ISI_RES_2688_1520   30FPS 
	{0x0302 ,0x2a ,"0x0100",eReadWrite},// PLL CTRL 2
	{0x374a ,0x43 ,"0x0100",eReadWrite},// sensor timing control registers	
	{0x376b ,0x20 ,"0x0100",eReadWrite},// sensor timing control registers	
	{0x4000, 0xf1, "0x0100", eReadWrite}, 
	{0x4001, 0x40, "0x0100", eReadWrite}, 
	{0x4002, 0x04, "0x0100", eReadWrite}, 
	{0x4003, 0x14, "0x0100", eReadWrite}, 
	{0x400e, 0x00, "0x0100", eReadWrite}, 
	{0x4011, 0x00, "0x0100", eReadWrite}, 
	{0x401a, 0x00, "0x0100", eReadWrite}, 
	{0x401b, 0x00, "0x0100", eReadWrite}, 
	{0x401c, 0x00, "0x0100", eReadWrite}, 
	{0x401d, 0x00, "0x0100", eReadWrite}, 
	{0x401f, 0x00, "0x0100", eReadWrite}, 
	{0x4020, 0x00, "0x0100", eReadWrite}, 
	{0x4021, 0x10, "0x0100", eReadWrite}, 
	{0x4022, 0x07, "0x0100", eReadWrite}, 
	{0x4023, 0xcf, "0x0100", eReadWrite}, 
	{0x4024, 0x09, "0x0100", eReadWrite}, 
	{0x4025, 0x60, "0x0100", eReadWrite}, 
	{0x4026, 0x09, "0x0100", eReadWrite}, 
	{0x4027, 0x6f, "0x0100", eReadWrite}, 
	{0x4028, 0x00, "0x0100", eReadWrite}, 
	{0x4029, 0x02, "0x0100", eReadWrite}, 
	{0x402a, 0x06, "0x0100", eReadWrite}, 
	{0x402b, 0x04, "0x0100", eReadWrite}, 
	{0x402c, 0x02, "0x0100", eReadWrite}, 
	{0x402d, 0x02, "0x0100", eReadWrite}, 
	{0x402e, 0x0e, "0x0100", eReadWrite}, 
	{0x402f, 0x04, "0x0100", eReadWrite}, 
	{0x4302, 0xff, "0x0100", eReadWrite}, 
	{0x4303, 0xff, "0x0100", eReadWrite}, 
	{0x4304, 0x00, "0x0100", eReadWrite}, 
	{0x4305, 0x00, "0x0100", eReadWrite}, 
	{0x4306, 0x00, "0x0100", eReadWrite}, 
	{0x4308, 0x02, "0x0100", eReadWrite}, 
	{0x4500, 0x6c, "0x0100", eReadWrite}, 
	{0x4501, 0xc4, "0x0100", eReadWrite}, 
	{0x4502, 0x40, "0x0100", eReadWrite}, 
	{0x4503, 0x01, "0x0100", eReadWrite}, 
	{0x4601, 0xA7, "0x0100", eReadWrite},
	{0x5050 ,0x0c,"0x0100", eReadWrite}, // DEBUG MODE
//	{0x0100 ,0x01,"0x0100", eReadWrite}, // wake up, streaming
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_2688x1520P30_twolane_fpschg[] =
{
	{0x380e ,0x06 ,"0x0100",eReadWrite},// h total size [14:8]
	{0x380f ,0x14 ,"0x0100",eReadWrite},// h total size [7:0]
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_2688x1520P25_twolane_fpschg[] =
{
	{0x380e ,0x07 ,"0x0100",eReadWrite},// vTS H
	{0x380f ,0x4a ,"0x0100",eReadWrite},// vTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_2688x1520P20_twolane_fpschg[] =
{
	{0x380e ,0x09 ,"0x0100",eReadWrite},// vTS H
	{0x380f ,0x1c ,"0x0100",eReadWrite},// vTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_2688x1520P15_twolane_fpschg[] =
{
	{0x380e ,0x0c ,"0x0100",eReadWrite},// vTS H
	{0x380f ,0x24 ,"0x0100",eReadWrite},// vTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_2688x1520P10_twolane_fpschg[] =
{
	{0x380e ,0x12 ,"0x0100",eReadWrite},// vTS H
	{0x380f ,0x34 ,"0x0100",eReadWrite},// vTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_2688x1520P7_twolane_fpschg[] =
{
	{0x380e ,0x19 ,"0x0100",eReadWrite},// vTS H
	{0x380f ,0xff ,"0x0100",eReadWrite},// vTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

#endif


const IsiRegDescription_t OV4188_g_twolane_resolution_1920_1080[] =
{
	//@@ ISI_RES_1920_1080   30FPS 
	{0x0302 ,0x2a ,"0x0100",eReadWrite},// PLL CTRL 2
	{0x3501 ,0x4c ,"0x0100",eReadWrite},// AEC LONG EXPO
	{0x3632 ,0x00 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x374a ,0x43 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376b ,0x20 ,"0x0100",eReadWrite},// sensor timing control registers	
	{0x3800 ,0x01 ,"0x0100",eReadWrite},// h crop start[12:8]
	{0x3801 ,0x88 ,"0x0100",eReadWrite},// h crop start [7:0]
	{0x3802 ,0x00 ,"0x0100",eReadWrite},// v crop start [11:8]
	{0x3803 ,0xe0 ,"0x0100",eReadWrite},// v crop start [7:0]
	{0x3804 ,0x09 ,"0x0100",eReadWrite},// h crop end [12:8]
	{0x3805 ,0x17 ,"0x0100",eReadWrite},// h crop end [7:0]
	{0x3806 ,0x05 ,"0x0100",eReadWrite},// v crop end [11:8]
	{0x3807 ,0x1f ,"0x0100",eReadWrite},// v crop end [7:0]
	{0x3808 ,0x07 ,"0x0100",eReadWrite},// h output size [12:8]
	{0x3809 ,0x80 ,"0x0100",eReadWrite},// h output size [7:0]
	{0x380a ,0x04 ,"0x0100",eReadWrite},// v output size [11:8]
	{0x380b ,0x38 ,"0x0100",eReadWrite},// v output size [7:0]
	{0x380c ,0x0a ,"0x0100",eReadWrite},// h total size [14:8]
	{0x380d ,0x0a ,"0x0100",eReadWrite},// h total size [7:0]
	{0x380e ,0x06 ,"0x0100",eReadWrite},// v total size [14:8]
	{0x380f ,0x14 ,"0x0100",eReadWrite},// v total size [7:0]
	{0x3810 ,0x00 ,"0x0100",eReadWrite},// h win offset [11:8]
	{0x3811 ,0x08 ,"0x0100",eReadWrite},// h win offset [7:0]
	{0x3812 ,0x00 ,"0x0100",eReadWrite},// v win offset [11:8]
	{0x3813 ,0x04 ,"0x0100",eReadWrite},// v win offset [7:0]
	{0x3814 ,0x01 ,"0x0100",eReadWrite},// H INC ODD
	{0x3815 ,0x01 ,"0x0100",eReadWrite},// H INC EVEN
	{0x3819 ,0x01 ,"0x0100",eReadWrite},// VSYNC END L
	{0x3820 ,0x00 ,"0x0100",eReadWrite},// FORMART
	//{0x3821 ,0x06 ,"0x0100",eReadWrite},// FORMART
	{0x382a ,0x01 ,"0x0100",eReadWrite},// V INC ODD
	{0x3830 ,0x04 ,"0x0100",eReadWrite},// BLC NUM OPTION
	{0x3836 ,0x01 ,"0x0100",eReadWrite},// TIMING REG 36
	{0x4001 ,0x40 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x4003 ,0x14 ,"0x0100",eReadWrite},// BLC CTRL03	
	{0x4022 ,0x06 ,"0x0100",eReadWrite},// ANCHOR LEFT END
	{0x4023 ,0x13 ,"0x0100",eReadWrite},// ANCHOR LEFT END
	{0x4024 ,0x07 ,"0x0100",eReadWrite},// ANCHOR RIGHT START
	{0x4025 ,0x40 ,"0x0100",eReadWrite},// ANCHOR RIGHT START
	{0x4026 ,0x07 ,"0x0100",eReadWrite},// ANCHOR RIGHT END
	{0x4027 ,0x50 ,"0x0100",eReadWrite},// ANCHOR RIGHT END
	{0x402a ,0x06 ,"0x0100",eReadWrite},// TOP BLKLINE ST
	{0x402b ,0x04 ,"0x0100",eReadWrite},// TOP BLKLINE NUM
	{0x402e ,0x0e ,"0x0100",eReadWrite},// BOT BLKLINE ST
	{0x402f ,0x04 ,"0x0100",eReadWrite},// BOT BLKLINE NUM
	{0x4502 ,0x40 ,"0x0100",eReadWrite},// ADC SYNC CTRL
	{0x4601 ,0x77 ,"0x0100", eReadWrite}, // VFIFO CTRL 01
	{0x5050 ,0x0c ,"0x0100", eReadWrite}, // DEBUG MODE
//	{0x0100 ,0x01,"0x0100", eReadWrite}, // wake up, streaming
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_1920x1080P30_twolane_fpschg[] =
{
	{0x380e ,0x06 ,"0x0100",eReadWrite},// h total size [14:8]
	{0x380f ,0x14 ,"0x0100",eReadWrite},// h total size [7:0]
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_1920x1080P25_twolane_fpschg[] =
{
	{0x380e ,0x07 ,"0x0100",eReadWrite},// HTS H
	{0x380f ,0x4a ,"0x0100",eReadWrite},// HTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_1920x1080P20_twolane_fpschg[] =
{
	{0x380e ,0x09 ,"0x0100",eReadWrite},// HTS H
	{0x380f ,0x1c ,"0x0100",eReadWrite},// HTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};


const IsiRegDescription_t OV4188_g_1920x1080P15_twolane_fpschg[] =
{
	{0x380e ,0x0c ,"0x0100",eReadWrite},// HTS H
	{0x380f ,0x24 ,"0x0100",eReadWrite},// HTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_1920x1080P10_twolane_fpschg[] =
{
	{0x380e ,0x12 ,"0x0100",eReadWrite},// HTS H
	{0x380f ,0x34 ,"0x0100",eReadWrite},// HTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_twolane_resolution_1280_720[] =
{
	//@@ ISI_RES_1280_720(2x bin)   30FPS 
	{0x0302 ,0x32 ,"0x0100",eReadWrite},// PLL CTRL 2
	{0x3501 ,0x30 ,"0x0100",eReadWrite},// AEC LONG EXPO
	{0x3632 ,0x05 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x374a ,0x43 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376b ,0x40 ,"0x0100",eReadWrite},// sensor timing control registers	
	{0x3800 ,0x00 ,"0x0100",eReadWrite},// h crop start[12:8]
	{0x3801 ,0x48 ,"0x0100",eReadWrite},// h crop start [7:0]
	{0x3802 ,0x00 ,"0x0100",eReadWrite},// v crop start [11:8]
	{0x3803 ,0x2c ,"0x0100",eReadWrite},// v crop start [7:0]
	{0x3804 ,0x0a ,"0x0100",eReadWrite},// h crop end [12:8]
	{0x3805 ,0x57 ,"0x0100",eReadWrite},// h crop end [7:0]
	{0x3806 ,0x05 ,"0x0100",eReadWrite},// v crop end [11:8]
	{0x3807 ,0xd3 ,"0x0100",eReadWrite},// v crop end [7:0]
	{0x3808 ,0x05 ,"0x0100",eReadWrite},// h output size [12:8]
	{0x3809 ,0x00 ,"0x0100",eReadWrite},// h output size [7:0]
	{0x380a ,0x02 ,"0x0100",eReadWrite},// v output size [11:8]
	{0x380b ,0xd0 ,"0x0100",eReadWrite},// v output size [7:0]
	{0x380c ,0x0a ,"0x0100",eReadWrite},// h total size [14:8]
	{0x380d ,0x0a ,"0x0100",eReadWrite},// h total size [7:0]
	{0x380e ,0x06 ,"0x0100",eReadWrite},// v total size [14:8]
	{0x380f ,0x14 ,"0x0100",eReadWrite},// v total size [7:0]
	{0x3810 ,0x00 ,"0x0100",eReadWrite},// h win offset [11:8]
	{0x3811 ,0x04 ,"0x0100",eReadWrite},// h win offset [7:0]
	{0x3812 ,0x00 ,"0x0100",eReadWrite},// v win offset [11:8]
	{0x3813 ,0x02 ,"0x0100",eReadWrite},// v win offset [7:0]
	{0x3814 ,0x03 ,"0x0100",eReadWrite},// H INC ODD
	{0x3815 ,0x01 ,"0x0100",eReadWrite},// H INC EVEN
	{0x3819 ,0x01 ,"0x0100",eReadWrite},// VSYNC END L
	{0x3820 ,0x10 ,"0x0100",eReadWrite},// FORMART
	//{0x3821 ,0x07 ,"0x0100",eReadWrite},// FORMART
	{0x382a ,0x03 ,"0x0100",eReadWrite},// V INC ODD
	{0x3830 ,0x08 ,"0x0100",eReadWrite},// BLC NUM OPTION
	{0x3836 ,0x02 ,"0x0100",eReadWrite},// TIMING REG 36
	{0x4001 ,0x50 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x4003 ,0x14 ,"0x0100",eReadWrite},// BLC CTRL03	
	{0x4022 ,0x03 ,"0x0100",eReadWrite},// ANCHOR LEFT END
	{0x4023 ,0x93 ,"0x0100",eReadWrite},// ANCHOR LEFT END
	{0x4024 ,0x04 ,"0x0100",eReadWrite},// ANCHOR RIGHT START
	{0x4025 ,0xc0 ,"0x0100",eReadWrite},// ANCHOR RIGHT START
	{0x4026 ,0x04 ,"0x0100",eReadWrite},// ANCHOR RIGHT END
	{0x4027 ,0xd0 ,"0x0100",eReadWrite},// ANCHOR RIGHT END
	{0x402a ,0x06 ,"0x0100",eReadWrite},// TOP BLKLINE ST
	{0x402b ,0x04 ,"0x0100",eReadWrite},// TOP BLKLINE NUM
	{0x402e ,0x0e ,"0x0100",eReadWrite},// BOT BLKLINE ST
	{0x402f ,0x04 ,"0x0100",eReadWrite},// BOT BLKLINE NUM
	{0x4502 ,0x44 ,"0x0100",eReadWrite},// ADC SYNC CTRL
	{0x4601 ,0x4f,"0x0100", eReadWrite}, // VFIFO CTRL 01
	{0x5050 ,0x3c,"0x0100", eReadWrite}, // DEBUG MODE
//	{0x0100 ,0x01,"0x0100", eReadWrite}, // wake up, streaming
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_1280x720P30_twolane_fpschg[] =
{
	{0x380e ,0x06 ,"0x0100",eReadWrite},// h total size [14:8]
	{0x380f ,0x14 ,"0x0100",eReadWrite},// h total size [7:0]
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_1280x720P25_twolane_fpschg[] =
{
	{0x380e ,0x07 ,"0x0100",eReadWrite},// HTS H
	{0x380f ,0x4a ,"0x0100",eReadWrite},// HTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_1280x720P20_twolane_fpschg[] =
{
	{0x380e ,0x09 ,"0x0100",eReadWrite},// HTS H
	{0x380f ,0x1c ,"0x0100",eReadWrite},// HTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_1280x720P15_twolane_fpschg[] =
{
	{0x380e ,0x0c ,"0x0100",eReadWrite},// HTS H
	{0x380f ,0x24 ,"0x0100",eReadWrite},// HTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_1280x720P10_twolane_fpschg[] =
{
	{0x380e ,0x12 ,"0x0100",eReadWrite},// HTS H
	{0x380f ,0x34 ,"0x0100",eReadWrite},// HTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_twolane_resolution_672_376[] =
{
	//@@ ISI_RES_672_380(4x bin)   60FPS 
	{0x0302 ,0x2a ,"0x0100",eReadWrite},// PLL CTRL 2
	{0x3501 ,0x18 ,"0x0100",eReadWrite},// AEC LONG EXPO
	{0x3632 ,0x06 ,"0x0100",eReadWrite},// ANALOG CTRL
	{0x374a ,0x47 ,"0x0100",eReadWrite},// sensor timing control registers
	{0x376b ,0x40 ,"0x0100",eReadWrite},// sensor timing control registers	
	{0x3800 ,0x00 ,"0x0100",eReadWrite},// h crop start[12:8]
	{0x3801 ,0x00 ,"0x0100",eReadWrite},// h crop start [7:0]
	{0x3802 ,0x00 ,"0x0100",eReadWrite},// v crop start [11:8]
	{0x3803 ,0x00 ,"0x0100",eReadWrite},// v crop start [7:0]
	{0x3804 ,0x0a ,"0x0100",eReadWrite},// h crop end [12:8]
	{0x3805 ,0x9f ,"0x0100",eReadWrite},// h crop end [7:0]
	{0x3806 ,0x05 ,"0x0100",eReadWrite},// v crop end [11:8]
	{0x3807 ,0xff ,"0x0100",eReadWrite},// v crop end [7:0]
	{0x3808 ,0x02 ,"0x0100",eReadWrite},// h output size [12:8]
	{0x3809 ,0xa0 ,"0x0100",eReadWrite},// h output size [7:0]
	{0x380a ,0x01 ,"0x0100",eReadWrite},// v output size [11:8]
	{0x380b ,0x78 ,"0x0100",eReadWrite},// v output size [7:0]
	{0x380c ,0x05 ,"0x0100",eReadWrite},// h total size [14:8]
	{0x380d ,0x05 ,"0x0100",eReadWrite},// h total size [7:0]
	{0x380e ,0x06 ,"0x0100",eReadWrite},// v total size [14:8]
	{0x380f ,0x14 ,"0x0100",eReadWrite},// v total size [7:0]
	{0x3810 ,0x00 ,"0x0100",eReadWrite},// h win offset [11:8]
	{0x3811 ,0x04 ,"0x0100",eReadWrite},// h win offset [7:0]
	{0x3812 ,0x00 ,"0x0100",eReadWrite},// v win offset [11:8]
	{0x3813 ,0x02 ,"0x0100",eReadWrite},// v win offset [7:0]
	{0x3814 ,0x07 ,"0x0100",eReadWrite},// H INC ODD
	{0x3815 ,0x01 ,"0x0100",eReadWrite},// H INC EVEN
	{0x3819 ,0x01 ,"0x0100",eReadWrite},// VSYNC END L
	{0x3820 ,0x20 ,"0x0100",eReadWrite},// FORMART
	//{0x3821 ,0x0f ,"0x0100",eReadWrite},// FORMART
	{0x382a ,0x07 ,"0x0100",eReadWrite},// V INC ODD
	{0x3830 ,0x08 ,"0x0100",eReadWrite},// BLC NUM OPTION
	{0x3836 ,0x02 ,"0x0100",eReadWrite},// TIMING REG 36
	{0x4001 ,0x60 ,"0x0100",eReadWrite},// DEBUG MODE
	{0x4003 ,0x0c ,"0x0100",eReadWrite},// BLC CTRL03	
	{0x4022 ,0x01 ,"0x0100",eReadWrite},// ANCHOR LEFT END
	{0x4023 ,0x2b ,"0x0100",eReadWrite},// ANCHOR LEFT END
	{0x4024 ,0x02 ,"0x0100",eReadWrite},// ANCHOR RIGHT START
	{0x4025 ,0x58 ,"0x0100",eReadWrite},// ANCHOR RIGHT START
	{0x4026 ,0x02 ,"0x0100",eReadWrite},// ANCHOR RIGHT END
	{0x4027 ,0x67 ,"0x0100",eReadWrite},// ANCHOR RIGHT END
	{0x402a ,0x04 ,"0x0100",eReadWrite},// TOP BLKLINE ST
	{0x402b ,0x02 ,"0x0100",eReadWrite},// TOP BLKLINE NUM
	{0x402e ,0x08 ,"0x0100",eReadWrite},// BOT BLKLINE ST
	{0x402f ,0x02 ,"0x0100",eReadWrite},// BOT BLKLINE NUM
	{0x4502 ,0x48 ,"0x0100",eReadWrite},// ADC SYNC CTRL
	{0x4601 ,0x29,"0x0100", eReadWrite}, // VFIFO CTRL 01
	{0x5050 ,0x3c,"0x0100", eReadWrite}, // DEBUG MODE
//	{0x0100 ,0x01,"0x0100", eReadWrite}, // wake up, streaming
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_672x376P60_twolane_fpschg[] =
{
	{0x380e ,0x06 ,"0x0100",eReadWrite},// h total size [14:8]
	{0x380f ,0x14 ,"0x0100",eReadWrite},// h total size [7:0]
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_672x376P30_twolane_fpschg[] =
{
	{0x380e ,0x07 ,"0x0100",eReadWrite},// HTS H
	{0x380f ,0x4a ,"0x0100",eReadWrite},// HTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_672x376P25_twolane_fpschg[] =
{
	{0x380e ,0x0c ,"0x0100",eReadWrite},// HTS H
	{0x380f ,0x2c ,"0x0100",eReadWrite},// HTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_672x376P20_twolane_fpschg[] =
{
	{0x380e ,0x12 ,"0x0100",eReadWrite},// HTS H
	{0x380f ,0x34 ,"0x0100",eReadWrite},// HTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_672x376P15_twolane_fpschg[] =
{
	{0x380e ,0x18 ,"0x0100",eReadWrite},// HTS H
	{0x380f ,0x44 ,"0x0100",eReadWrite},// HTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

const IsiRegDescription_t OV4188_g_672x376P10_twolane_fpschg[] =
{
	{0x380e ,0x24 ,"0x0100",eReadWrite},// HTS H
	{0x380f ,0x64 ,"0x0100",eReadWrite},// HTS L
	{0x0000 ,0x00,"eTableEnd",eTableEnd}
};

